LoginSignup
0
0

More than 1 year has passed since last update.

python flaskアプリ作成とPOSTリクエスト

Posted at

Flaskの初歩的な使い方を学んだので、備忘録として記録致します。

Flaskとは?

pythonのWebアプリケーションフレームワークで、簡単なwebアプリケーションを作ることに適しています。Flaskの設計思想として「コアとなる機能を保ちつつ、拡張性を持っているフレームワーク」があるそうです。

インストール方法

 pip install flask

まずはHello Flask

flask_test1.py
from flask import *

app = Flask(__name__)

@app.route("/")
def index():
   return jsonify({"ans": "Hello Flask!"})

ローカルにアクセスすると下記の結果が返ってくる
 image.png

POSTリクエストでJSONをやりとり

 スイッチのON or OFF をjsonにてPOSTしてその結果を返してくれるAPIを作成します。

flask_testjson.py
from flask import *

app = Flask(__name__)

@app.route('/', methods=['POST'])
def switch():
   switch = request.data.decode('utf-8')  # デコード
   switch = json.loads(switch)
   if switch["set"] == "ON":
       switch_ans = "switch_ON"
   elif switch["set"] == "OFF":
       switch_ans = "switch_OFF"
   else:
       switch_ans = "None"
   return jsonify(switch_ans)

送信するJSON
 {"set": "ON"}{"set": "OFF"} それ以外は None が返ってくるようにします。

POSTリクエスト

いくつか方法はあると思うのですが、pythonのライブラリのrequestを使用してみたいと思います。

flask_post.py
import requests
import json
post_url = "http://127.0.0.1:8888/" #自分のアドレスを入力
json = {"set": "ON"} #条件を入力
#POST送信
response = requests.post(
                   post_url,
                   json = json,
                   )
print(response.json())

その他コマンドプロンプトにてもPOSTリクエストが可能です。
HTTPのPOST/GETリクエストをする

結果

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0