0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

python3とFlaskでフロント実装の動作確認用APIサーバ構築

Last updated at Posted at 2020-05-11

###概要
フロントの動作確認様に、WebAPIサーバをpython3で構築する。
その備考録

###前提
インストール済み

>$ python3 --version
Python 3.7.7

###Flaskのインストール

$ python3 -m pip install Flask
Collecting Flask
  Downloading Flask-1.1.2-py2.py3-none-any.whl (94 kB)
     |████████████████████████████████| 94 kB 792 kB/s 
Collecting Jinja2>=2.10.1
  Downloading Jinja2-2.11.2-py2.py3-none-any.whl (125 kB)
     |████████████████████████████████| 125 kB 6.5 MB/s 
Collecting Werkzeug>=0.15
  Downloading Werkzeug-1.0.1-py2.py3-none-any.whl (298 kB)
     |████████████████████████████████| 298 kB 3.8 MB/s 
Collecting itsdangerous>=0.24
  Downloading itsdangerous-1.1.0-py2.py3-none-any.whl (16 kB)
Collecting click>=5.1
  Downloading click-7.1.2-py2.py3-none-any.whl (82 kB)
     |████████████████████████████████| 82 kB 778 kB/s 
Collecting MarkupSafe>=0.23
  Downloading MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl (18 kB)
Installing collected packages: MarkupSafe, Jinja2, Werkzeug, itsdangerous, click, Flask
Successfully installed Flask-1.1.2 Jinja2-2.11.2 MarkupSafe-1.1.1 Werkzeug-1.0.1 click-7.1.2 itsdangerous-1.1.0

###バージョン確認

>$ python3
>>> import flask
>>> flask.__version__
'1.1.2'

###ソース

hello.py
from flask import Flask
from flask import jsonify

app = Flask(__name__)

@app.route('/')
def hello():
  return jsonify({"message": "Hello"})

@app.route('/good')
def good():
  return jsonify({"message": "Good"})

if __name__ == "__main__":
    app.run(debug=True)
$ python3 hello.py

###フロントからリクエストして確認
クロームの開発者ツール上からでも確認できる。
コメントアウトした変数urlを切り替えて実行すると、
レスポンスの中身が変わることがわかる。

    //let url = 'http://127.0.0.1:5000/';
    let url = 'http://127.0.0.1:5000/good';
    let req = new XMLHttpRequest();
    req.open('GET', url);
    req.onreadystatechange = function() {
      if (req.readyState == 4 && req.status == 200) {
        console.log("XMLHttpRequest");
        //let data = eval('(' + req.responseText + ')');
        console.log(req.responseText);
        alert(JSON.parse(req.responseText).message);
      }
    };
    req.send(null); 

###参考
Pythonの標準ライブラリでさくっとAPIサーバとWebサーバを立ち上げる
1分でFlask!インストールからHello World出力
Python フレームワーク Flaskのバージョンの確認方法
はじめての Flask #5 ~JSONを返すWebAPIを書こう~
jsonifyが定義されていない - 内部サーバーエラー
POST送信されたパラメータをFlaskで受けるときにrequest has no attribute 'form'(ついでにFlaskのスタートアップガイド)
Flask-Response Objects

0
2
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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?