【Python】WebAPIを作ってみる

ちょっと必要に駆られてPythonでWebAPIを作成したのでその方法も備忘録として取って起きたいと思う.

環境

  • Fedora 29
  • Python3.6
  • Flask
  • json

あたりだろうか. もしFlaskが入っていない場合には下記コマンドでインストールしてほしい

pip3 install flask

jsonモデル

APIを作るからには何かしらのデータのやり取りがあるのだろう. 今回は以下のような簡単なjsonを使ってみようと思う.

{
  name,
  age,
  sex
}

やり方

必要なモジュール

まず, 必要なモジュールをインポートしよう.

from flask import Flask, jsonify, make_response, request
import json

Flaskのエイリアス

コードを書き始める前に, flaskのエイリアスを貼ろう. いや, もしかしたらエイリアスではないかもしれないがここでは便宜上エイリアスと呼ぶことにしよう. もしかしたらちゃんとした名前があるかもしれないが, 筆者はPython素人なので許してほしい.

api = Flask(__name__)

エンドポイントの作成

とりあえずエンドポイントをひとつ作ってみよう. やりたいことも特にないので受け取ったデータをそのままレスポンスに返してみる.

@api.route('/user', methods=['POST'])
def post_user_():
  data = json.loads(request.data)
  result = {
    'name' : data.get('name'),
    'age'  : data.get('age'),
    'sex'  : data.get('sex')
    }
  return make_response(jsonify(result)) 

稼働させる

これを稼働させるためのmainはこう書けばいい

if __name__ == '__main__': 
  api.run(host = '0.0.0.0', port = 80) 

APIの叩き方

今回作成したAPIにアクセスするにはこんな感じにすれば良い(cURLの場合)

curl -H "Content-Type:Application/json" -d '{"name":"john","age":20,"sex":"True"}' /user

参考

Python初心者が1日でREST APIを実装してみた

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です