Flask-RESTful-返回自定义响应格式

我已经按照以下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

以上是 Flask-RESTful-返回自定义响应格式 的全部内容, 来源链接: utcz.com/qa/434528.html

回到顶部