JSONを返却するためのメソッドjsonifyが定義されている。
from flask import Flask
from flask import jsonify
app=Flask(__name__)
@app.route('/test.json')
def test_json():
return jsonify(res='test')
if __name__ == '__main__':
app.run()
/test.jsonでリクエストすると
{
res:'test'
}
という結果が帰ってくる
JSONPにしたい場合はjsonifyは使えない。
@app.route('/test.jsonp')
def test_jsonp():
import json
request.args.get('callback') + '(' + json.dumps(dict(res='test')) + ')'
というように自分でリクエストパラメータからcallbackを受け取って
付与して返す必要がある。
ただしこのままでは、mimetypeの指定がないので
厳密にはmimetypeの指定を行わなくてはならない。
script/javascript
現状FlaskのJSONP用のmethod(padded_jsonify)が要望として上がっているが、
jsonifyのように*args,**kwdとすべての引数がjsonオブジェクトになるような機能のため
callbackが入る余地が無いみたいで、提案が今は棄却されている模様。
0 件のコメント:
コメントを投稿