Flask-RESTful - Return custom Response format

前端 未结 3 382
南旧
南旧 2021-02-01 06:23

I have defined a custom Response format as per the Flask-RESTful documentation as follow.

app = Flask(__name__)
api = restful.Api(app)

@api.representation(\'app         


        
相关标签:
3条回答
  • 2021-02-01 06:48

    In addition to @Martijin Pieters' answer here - https://stackoverflow.com/a/20246014/1869562. Where you return a raw response object, Flask-Restful also allows you to set status code and headers in your return values directly.

    So in your case, this should also work

    class Foo(restful.Resource):
    
        def get(self):
            return something, 201, {'content-type': 'application/octet-stream'}
    

    The default mediatype for Flask-REstful is 'application/json', so put should work as is.

    0 讨论(0)
  • 2021-02-01 06:51

    What representation is used is determined by the request, the Accept header mime type.

    A request of application/octet-stream will be responded to by using your binary function.

    If you need a specific response type from an API method, then you'll have to use flask.make_response() to return a 'pre-baked' response object:

    def get(self):
        response = flask.make_response(something)
        response.headers['content-type'] = 'application/octet-stream'
        return response
    
    0 讨论(0)
  • 2021-02-01 06:51

    Just return Flask response objects in your methods.

    A response class allows you to provide custom headers (including the content-type): http://flask.pocoo.org/docs/api/#response-objects

    0 讨论(0)
提交回复
热议问题