我已经按照以下Flask-RESTful文档定义了自定义响应格式。
app = Flask(__name__)
api = restful.Api(app)
@api.representation('application/octet-stream')
def binary(data, code, headers=None):
resp = api.make_response(data, code)
resp.headers.extend(headers or {})
return resp
api.add_resource(Foo, '/foo')
我有以下资源类。
class Foo(restful.Resource):
def get(self):
return something
def put(self, fname):
return something
我希望get()
函数返回application/octet-stream
类型,put()
函数返回默认值application/json
。
我该怎么做呢?关于这一点,文档不是很清楚。
使用哪种表示方式取决于request,Accept
标头mime
类型。
的请求application/octet-stream将
通过使用你的binary
函数来响应。
如果你需要API方法中的特定响应类型,则必须使用flask.make_response()
返回“预烘焙”响应对象:
def get(self):
response = flask.make_response(something)
response.headers['content-type'] = 'application/octet-stream'
return response
这是一个概念问题。 我这样问的原因是,有些其他RESTful服务使用401处理错误的凭据,即使您只是询问凭据是否有效。然而,我对401响应的理解是,它们代表了一个没有有效凭据的资源。但登录资源应该对任何人都可以访问,因为登录资源的全部目的是告诉您凭据是否有效。 换句话说,在我看来,像这样的请求: 如果提供了错误的凭据,则应返回401。而是这样的请求: 关于这件事,我想听听一些合理的意见。处理这件事
问题内容: 我想为Flask-restful API定义自定义错误处理。 在文档中建议的方法在这里是要做到以下几点: 现在,我发现这种格式非常吸引人,但是当发生某些异常时,我需要指定更多参数。例如,遇到时·,我要指定id不存在的内容。 目前,我正在执行以下操作: 当使用不存在的ID调用时,将返回以下JSON: 这工作正常,但我想改用错误处理。 问题答案: 根据文档 Flask-RESTful将在F
我没有得到实际的超文本传输协议标头时,使超文本传输协议后调用使用角5公共http pClient.我在请求中传递观察:'响应'以获得完整的响应(默认情况下,http客户端仅返回响应中的正文)。 我想从http头响应中读取csrftoken值。我可以看到csrftoken在使用chrome浏览器网络视图的响应头中可用。 但是当我在Angular中阅读httpClient响应时,这一点是不可用的。 在
问题内容: 我有一个函数,可使用Pandas分析CSV文件并生成带有摘要信息的字典。我想从Flask视图返回结果作为响应。如何返回JSON响应? 问题答案: 将摘要数据传递给该函数,该函数返回JSON响应。 从Flask 0.11开始,你可以将任何JSON可序列化的类型(不仅是dict)传递为顶级对象。
问题内容: 我有一个函数,可使用Pandas分析CSV文件并生成带有摘要信息的字典。我想从Flask视图返回结果作为响应。如何返回JSON响应? 问题答案: 将摘要数据传递给该函数,该函数返回JSON响应。 从Flask 0.11开始,你可以将任何可序列化的类型(不仅是dict)传递为顶级对象。
问题内容: Flask返回响应后,我需要执行一些代码。我认为为它设置像Celery这样的任务队列不够复杂。关键要求是Flask必须在运行此功能之前将响应返回给客户端。它不能等待函数执行。 对此存在一些现有问题,但是在将响应发送到客户端之后,似乎没有一个答案能解决运行任务的问题,它们仍然同步执行,然后返回响应。 问题答案: 长话短说,Flask没有提供任何特殊功能来完成此任务。对于简单的一次性任务,