おからの日記

最近,おからに改名しました

Flaskのrequestの仕様でわかったこと

flaskのrequestの仕様ではリクエストのcontent typejson型を設定してpostするとrequest.jsonjsonデータがそのまま入るようです.request.dataにはバイナリで保存されました.

from flask import Flask,request
import json

app=Flask(__name__)

@app.route('/',methods=['POST'])
def index():
    if request.method == 'POST':
        jsondata=request.json
        binary=request.data
        print("request :",request)
        print("request.json :",jsondata)
        print("request.data :",binary)
        return json.dumps(jsondata)
 
def main():
    print('')

if __name__ == '__main__':
    app.run(port=8000)

{'name': 'hanako'} をpost リクエストで送るとこんな感じになります.

request : <Request 'http://localhost:8000/' [POST]>
request.json : {'name': 'hanako'}
request.data : '{\n\t"name" : "hanako"\n}'



リクエストの送信にはコマンドで
$ curl -X POST -H "Content-Type: application/json" -d '{"name":"hanako"}' localhost:8000

のように叩いてもできますが, postman( https://www.getpostman.com/apps )を使いました.UIはこんな感じです.使い方としてはまずrequestのbodyに送るデータを書き,

f:id:akari000:20181223095122p:plain

ヘッダーにデータの種類 Content type : application/json を書きます. f:id:akari000:20181223095222p:plain

return json.dumps(jsondata) としているのでresのbodyにはjsonデータが帰ってきます.
f:id:akari000:20181223095236p:plain

わかったことや詰まったことなどgoogle keepに保存していますがkeepの拡張機能をchromに入れたら気になったことは全部keepに投げてしまってそろそろ整理が必要になってきました...
とりあえず埋もれてしまわないように空いてる時間にここにあげようと思ってるのですがかなり爆速であげていかないと追いつかなそうです笑