Rol*_*ndo 8 python flask flask-restful
我希望能够返回除application/json之外的东西,即kml.
我有以下内容:
@api.representation('application/vnd.google-earth.kml+xml')
def kml(data):
return Response(data, mimetype='application/vnd.google-earth.kml+xml')
class mykml(restful.Resource):
def get(self):
r = requests.get("http://myurl/kml") # This retrieves a .kml file
response = make_response(r.content)
response.headers['Content-Type'] = "application/vnd.google-earth.kml+xml"
return response
Run Code Online (Sandbox Code Playgroud)
为什么这仍然是返回的应用程序/ json?另外,如果我有不同的格式,我可以在没有装饰器的情况下动态更改类mykml中的respone的Content-Type吗?
进口: from flask import Flask, request, Response, session,make_response
如果您需要来自 API 方法的特定响应类型,则必须使用 Flask.make_response() 返回“预烘焙”响应对象:
def get(self):
response = flask.make_response(something)
response.headers['content-type'] = 'application/vnd.google-earth.kml'
return response
Run Code Online (Sandbox Code Playgroud)