質問編集履歴
12
不要文削除
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -19,8 +19,6 @@ | |
| 19 19 | 
             
            ```ここに言語を入力
         | 
| 20 20 | 
             
            response : {"camera": 12, "lens":100}
         | 
| 21 21 | 
             
            ```
         | 
| 22 | 
            -
            もし、POSTをpythonが受け取っていれば、処理時間が掛かるはずですが、すぐに、400 Bad Requestが出るのでpythonを動作させる前のcurlコマンドに問題があると感じています。
         | 
| 23 | 
            -
             | 
| 24 22 | 
             
            最小限のコードを記述します。
         | 
| 25 23 | 
             
            ディレクトリがapiの中にあるflask_test.pyを呼び出しています。
         | 
| 26 24 | 
             
            ```__init__.py
         | 
11
記述追加
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -22,7 +22,7 @@ | |
| 22 22 | 
             
            もし、POSTをpythonが受け取っていれば、処理時間が掛かるはずですが、すぐに、400 Bad Requestが出るのでpythonを動作させる前のcurlコマンドに問題があると感じています。
         | 
| 23 23 |  | 
| 24 24 | 
             
            最小限のコードを記述します。
         | 
| 25 | 
            -
             | 
| 25 | 
            +
            ディレクトリがapiの中にあるflask_test.pyを呼び出しています。
         | 
| 26 26 | 
             
            ```__init__.py
         | 
| 27 27 | 
             
            from flask import Blueprint, jsonify, request
         | 
| 28 28 |  | 
10
記述追加
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -96,6 +96,12 @@ | |
| 96 96 | 
             
            #     return "Hello"
         | 
| 97 97 |  | 
| 98 98 | 
             
            ```
         | 
| 99 | 
            +
            起動後、ポート5000には、
         | 
| 100 | 
            +
            {
         | 
| 101 | 
            +
              "column": "value"
         | 
| 102 | 
            +
            }
         | 
| 103 | 
            +
            が表示されます。
         | 
| 104 | 
            +
             | 
| 99 105 | 
             
            その起動中に上記のcurlコマンドを打ち込みますと、Bad Requestとなります。
         | 
| 100 106 | 
             
            下図は、リクエストした後のターミナル画面を表した画面です。
         | 
| 101 107 |  | 
9
コード追加
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -24,17 +24,22 @@ | |
| 24 24 | 
             
            最小限のコードを記述します。
         | 
| 25 25 |  | 
| 26 26 | 
             
            ```__init__.py
         | 
| 27 | 
            +
            from flask import Blueprint, jsonify, request
         | 
| 27 28 |  | 
| 28 | 
            -
            from flask import Blueprint, request
         | 
| 29 | 
            -
             | 
| 30 29 | 
             
            from api import flask_test
         | 
| 31 30 |  | 
| 31 | 
            +
             | 
| 32 32 | 
             
            api = Blueprint("api", __name__)
         | 
| 33 33 |  | 
| 34 34 |  | 
| 35 | 
            +
            @api.get("/")
         | 
| 36 | 
            +
            def index():
         | 
| 37 | 
            +
                return jsonify({"column": "value"}), 201
         | 
| 38 | 
            +
             | 
| 35 39 | 
             
            @api.post("/detect")
         | 
| 36 40 | 
             
            def detection():
         | 
| 37 41 | 
             
                return flask_test.detection(request)
         | 
| 42 | 
            +
             | 
| 38 43 | 
             
            ```
         | 
| 39 44 | 
             
            ```flask_test.py
         | 
| 40 45 |  | 
8
コードの追加
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -49,11 +49,58 @@ | |
| 49 49 | 
             
                load_image(request)
         | 
| 50 50 |  | 
| 51 51 | 
             
            ```
         | 
| 52 | 
            +
            flaskのblueprintによる起動コードを書きます。
         | 
| 52 53 |  | 
| 54 | 
            +
            ```app.py
         | 
| 55 | 
            +
             | 
| 56 | 
            +
            import os
         | 
| 57 | 
            +
            from flask import Flask
         | 
| 58 | 
            +
             | 
| 59 | 
            +
            from api import api
         | 
| 60 | 
            +
             | 
| 61 | 
            +
             | 
| 62 | 
            +
            class Config:
         | 
| 63 | 
            +
                TESTING = False
         | 
| 64 | 
            +
                DEBUG = False
         | 
| 65 | 
            +
                LABELS = [
         | 
| 66 | 
            +
                    "people",
         | 
| 67 | 
            +
                    "Population"
         | 
| 68 | 
            +
                ]
         | 
| 69 | 
            +
             | 
| 70 | 
            +
             | 
| 71 | 
            +
            class LocalConfig(Config):
         | 
| 72 | 
            +
                TESTING = True
         | 
| 73 | 
            +
                DEBUG = True
         | 
| 74 | 
            +
             | 
| 75 | 
            +
             | 
| 76 | 
            +
            config = {
         | 
| 77 | 
            +
                "base": Config,
         | 
| 78 | 
            +
                "local": LocalConfig,
         | 
| 79 | 
            +
            }
         | 
| 80 | 
            +
             | 
| 81 | 
            +
            config_name = os.environ.get("CONFIG", "local")
         | 
| 82 | 
            +
             | 
| 83 | 
            +
            app = Flask(__name__)
         | 
| 84 | 
            +
            app.config.from_object(config[config_name])
         | 
| 85 | 
            +
             | 
| 86 | 
            +
            app.register_blueprint(api)
         | 
| 87 | 
            +
             | 
| 88 | 
            +
             | 
| 89 | 
            +
            # @app.route("/")
         | 
| 90 | 
            +
            # def index():
         | 
| 91 | 
            +
            #     return "Hello"
         | 
| 92 | 
            +
             | 
| 53 93 | 
             
            ```
         | 
| 54 | 
            -
            別途、flaskにてrun起動している必要があります。
         | 
| 55 94 | 
             
            その起動中に上記のcurlコマンドを打ち込みますと、Bad Requestとなります。
         | 
| 95 | 
            +
            下図は、リクエストした後のターミナル画面を表した画面です。
         | 
| 56 96 |  | 
| 97 | 
            +
            
         | 
| 98 | 
            +
             | 
| 99 | 
            +
            コンソール画面です。
         | 
| 100 | 
            +
            testのあと、----が表示されますが、その後のprint文 print(filename) が表示されません。
         | 
| 101 | 
            +
             | 
| 102 | 
            +
            
         | 
| 103 | 
            +
             | 
| 57 104 | 
             
            この様な結果、request.json["filename"] が原因箇所となりますが対策方法が見つかっておりません。
         | 
| 58 105 |  | 
| 59 106 | 
             
            ご指導の程よろしくお願いします
         | 
7
コードの追加
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -42,7 +42,14 @@ | |
| 42 42 | 
             
                print('----')  # curlを打ち込みますとコンソールに表示されます。
         | 
| 43 43 | 
             
                filename = request.json["filename"]
         | 
| 44 44 | 
             
                print(filename)  # コンソールに表示されません。
         | 
| 45 | 
            +
             | 
| 46 | 
            +
             | 
| 47 | 
            +
            def detection(request):
         | 
| 48 | 
            +
                print("test")     # 表示されます。
         | 
| 49 | 
            +
                load_image(request)
         | 
| 50 | 
            +
             | 
| 45 51 | 
             
            ```
         | 
| 52 | 
            +
             | 
| 46 53 | 
             
            ```
         | 
| 47 54 | 
             
            別途、flaskにてrun起動している必要があります。
         | 
| 48 55 | 
             
            その起動中に上記のcurlコマンドを打ち込みますと、Bad Requestとなります。
         | 
6
コードの追加
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -23,20 +23,34 @@ | |
| 23 23 |  | 
| 24 24 | 
             
            最小限のコードを記述します。
         | 
| 25 25 |  | 
| 26 | 
            -
            ```
         | 
| 26 | 
            +
            ```__init__.py
         | 
| 27 | 
            +
             | 
| 27 28 | 
             
            from flask import Blueprint, request
         | 
| 28 29 |  | 
| 29 | 
            -
            from api import  | 
| 30 | 
            +
            from api import flask_test
         | 
| 30 31 |  | 
| 31 32 | 
             
            api = Blueprint("api", __name__)
         | 
| 32 33 |  | 
| 33 34 |  | 
| 34 35 | 
             
            @api.post("/detect")
         | 
| 35 36 | 
             
            def detection():
         | 
| 36 | 
            -
                return  | 
| 37 | 
            +
                return flask_test.detection(request)
         | 
| 37 38 | 
             
            ```
         | 
| 38 | 
            -
             | 
| 39 | 
            +
            ```flask_test.py
         | 
| 39 40 |  | 
| 41 | 
            +
            def load_image(request):
         | 
| 42 | 
            +
                print('----')  # curlを打ち込みますとコンソールに表示されます。
         | 
| 43 | 
            +
                filename = request.json["filename"]
         | 
| 44 | 
            +
                print(filename)  # コンソールに表示されません。
         | 
| 45 | 
            +
            ```
         | 
| 46 | 
            +
            ```
         | 
| 47 | 
            +
            別途、flaskにてrun起動している必要があります。
         | 
| 48 | 
            +
            その起動中に上記のcurlコマンドを打ち込みますと、Bad Requestとなります。
         | 
| 49 | 
            +
             | 
| 50 | 
            +
            この様な結果、request.json["filename"] が原因箇所となりますが対策方法が見つかっておりません。
         | 
| 51 | 
            +
             | 
| 52 | 
            +
            ご指導の程よろしくお願いします
         | 
| 53 | 
            +
             | 
| 40 54 | 
             
            ### 補足情報(FW/ツールのバージョンなど)
         | 
| 41 55 |  | 
| 42 56 | 
             
            OS: WIN10
         | 
5
flask version adding
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -39,5 +39,6 @@ | |
| 39 39 |  | 
| 40 40 | 
             
            ### 補足情報(FW/ツールのバージョンなど)
         | 
| 41 41 |  | 
| 42 | 
            -
            OS:WIN10
         | 
| 42 | 
            +
            OS: WIN10
         | 
| 43 | 
            -
            python | 
| 43 | 
            +
            python: 3.9.13
         | 
| 44 | 
            +
            flask: 2.2.2
         | 
4
spell
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -35,7 +35,7 @@ | |
| 35 35 | 
             
            def detection():
         | 
| 36 36 | 
             
                return calculation.detection(request)
         | 
| 37 37 | 
             
            ```
         | 
| 38 | 
            -
            calculation内の | 
| 38 | 
            +
            calculation内のdetection関数を呼び出す仕組みですが、長いコードです。
         | 
| 39 39 |  | 
| 40 40 | 
             
            ### 補足情報(FW/ツールのバージョンなど)
         | 
| 41 41 |  | 
3
スペルミス
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -33,7 +33,7 @@ | |
| 33 33 |  | 
| 34 34 | 
             
            @api.post("/detect")
         | 
| 35 35 | 
             
            def detection():
         | 
| 36 | 
            -
                return calculation. | 
| 36 | 
            +
                return calculation.detection(request)
         | 
| 37 37 | 
             
            ```
         | 
| 38 38 | 
             
            calculation内のdetect関数を呼び出す仕組みですが、長いコードです。
         | 
| 39 39 |  | 
2
最小限のコードの記載
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -21,6 +21,22 @@ | |
| 21 21 | 
             
            ```
         | 
| 22 22 | 
             
            もし、POSTをpythonが受け取っていれば、処理時間が掛かるはずですが、すぐに、400 Bad Requestが出るのでpythonを動作させる前のcurlコマンドに問題があると感じています。
         | 
| 23 23 |  | 
| 24 | 
            +
            最小限のコードを記述します。
         | 
| 25 | 
            +
             | 
| 26 | 
            +
            ```
         | 
| 27 | 
            +
            from flask import Blueprint, request
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            from api import calculation
         | 
| 30 | 
            +
             | 
| 31 | 
            +
            api = Blueprint("api", __name__)
         | 
| 32 | 
            +
             | 
| 33 | 
            +
             | 
| 34 | 
            +
            @api.post("/detect")
         | 
| 35 | 
            +
            def detection():
         | 
| 36 | 
            +
                return calculation.detect(request)
         | 
| 37 | 
            +
            ```
         | 
| 38 | 
            +
            calculation内のdetect関数を呼び出す仕組みですが、長いコードです。
         | 
| 39 | 
            +
             | 
| 24 40 | 
             
            ### 補足情報(FW/ツールのバージョンなど)
         | 
| 25 41 |  | 
| 26 42 | 
             
            OS:WIN10
         | 
1
誤字
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -17,7 +17,7 @@ | |
| 17 17 |  | 
| 18 18 | 
             
            pythonで構築したflask APIにて下記の様なjsonが返ってきて欲しいです。
         | 
| 19 19 | 
             
            ```ここに言語を入力
         | 
| 20 | 
            -
            response : {"camera": 12, " | 
| 20 | 
            +
            response : {"camera": 12, "lens":100}
         | 
| 21 21 | 
             
            ```
         | 
| 22 22 | 
             
            もし、POSTをpythonが受け取っていれば、処理時間が掛かるはずですが、すぐに、400 Bad Requestが出るのでpythonを動作させる前のcurlコマンドに問題があると感じています。
         | 
| 23 23 |  | 
