スパルタコードクラブ4週目



[カリキュラムの目標]
  • Flaskフレームワークを使用してAPIを作成できます.
  • 「みんなの書評」APIを作成し、クライアントに接続します.
  • 「ガキ手帳」APIを作成し、クライアントに接続します.
  • Flask


    Flaskフレームワーク:サーバを駆動するための便利なコードのセット.サーバを起動するには、複雑なタスクを簡単に処理できます.
    💡Flashサーバを作成するときは、常に次のようにします.
    プロジェクトフォルダで、
    静的フォルダ(画像、cssファイルが暗い)
    ㄴtemplatesフォルダ:HTMLファイルを含むロールを読み込む
    ㄴapp.pyファイル
    このようにして3つ後に始まります
  • htmlファイルを読み込み
    👉 flask内蔵関数render templateを使用します.これがフレームの威力!
  • from flask import Flask, render_template
    app = Flask(__name__)
    
    ## URL 별로 함수명이 같거나,
    ## route('/') 등의 주소가 같으면 안됩니다.
    
    @app.route('/')
    def home():
       return render_template('index.html')
    
    if __name__ == '__main__':
       app.run('0.0.0.0', port=5000, debug=True)

    Flashの起動:正式なAPIの作成


    GET、POST方式
    様々な方法(リンク)が存在するが、最も一般的なGET、POST方式について述べる.
  • GET→通常!データ照会要求時
    例)ムービーリストの表示
    →データ転送:URLの後ろに疑問符を付けてkey=valueに転送する
    →例:google.com?q=ホッキョクグマ
  • POST→通常!作成、更新、削除を要求します.
    例)会員加入、会員脱退、パスワード修正
    →データ転送:非表示HTML bodyでkey:value形式で
  • を転送
    <GET、POSTからクライアントデータの受信を要求する方法>
    [コード断片]-GET要求APIコード
    @app.route('/test', methods=['GET'])
    def test_get():
       title_receive = request.args.get('title_give')
       print(title_receive)
       return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
    [コード断片]-GET要求Ajaxコードの確認
    $.ajax({
        type: "GET",
        url: "/test?title_give=봄날은간다",
        data: {},
        success: function(response){
           console.log(response)
        }
      })
    [コード断片]-POST要求APIコード
    @app.route('/test', methods=['POST'])
    def test_post():
       title_receive = request.form['title_give']
       print(title_receive)
       return jsonify({'result':'success', 'msg': '이 요청은 POST!'})
    [コード断片]-POST要求Ajaxコードの確認
    $.ajax({
        type: "POST",
        url: "/test",
        data: { title_give:'봄날은간다' },
        success: function(response){
           console.log(response)
        }
      })