python + FlaskでAPIをつくる
ド初心者がAPIとやらの作り方をお勉強します。
REST APIを作りたい
REST API っていうのは、HTTPリクエストを送るときのメソッドによって挙動を分岐させるAPI。
例:情報を取得するならGET、登録するならPOST、消すならDELETE
(こうじゃない:HTTPリクエストヘッダーの中身によって取得・登録などの挙動を変えるやつ)
環境
テスト用にpostmanがあると非常にはかどる
ダウンロード:postman
参考:RESTサービスを触る際の必須ツールPostmanを使ってみました
pythonはとりあえず、テストのうちはローカルで動かしてればいい。
実用的に使うならどっかのサーバーに乗っける。
flaskでAPIを作る
from flask import *
app = Flask(__name__)
@app.route('/',methods = ['GET'])
def root():
return make_response(jsonify({'success':'success'}),200)
# make_responseでHTTPレスポンス作れる。make_response(json,ステータスコード)
@app.route('/<string:your-ID>', methods = ['GET'])
def optional(your-ID):
# URL末尾のIDを受け取って、IDに対応するデータを取ってきたりする
return make_response(jsonify({'ID':your-ID},200)
@app.route('/', methods = ['POST'])
def post():
# POSTリクエストが来たら404エラーを返してみる
return make_response(jsonify({'error':'Does not support POST method'}),404)
if __name__ == "__main__":
app.run(host='127.0.0.1', port=5000, debug=True)
# ローカルで実行したらFlaskアプリを起動する
↑これをローカルで実行して、postmanから[http://127.0.0.1:5000/]にアクセスすればレスポンスが返ってくる。
テストが終わったらサーバー上に置いて、発行されたURLに対してアクセスを試してみる。
なお、これにブラウザでアクセスしようとすると、「画面表示するためのWSGIオブジェクトがねーよばーか」って言われて正しい挙動にならないので、テストはpostman経由で。
この記事が気に入ったらサポートをしてみませんか?