質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

2437閲覧

【FastAPI / axios】POST通信時のリクエストパラメーターの受け取り方

pekopekoapricot

総合スコア24

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2020/10/27 09:35

編集2020/10/27 09:47

現在、FastAPIと axiosを使用してAPIを実装しています。

axios側から FastAPI側にパラメーターを渡したいのですが、渡し方が分かりませんでした。

現在のコードは下記になります。

JS

1axios.post("/test", { 2 page_num: 3, 3}) 4.then(res => { 5 console.log(res) 6})

Python

1@APIServer.app.post('/test') 2def get_page(page_num: int = 1): 3 # page_numを使った処理 4 return { 5 "status": True, 6 "messeage": "OK", 7 "page_num": page_num 8 }

上記コードだと、 FastAPI側のpage_num はJSから渡したではなく、
デフォルト値の1になってしまいました。

POST通信時のパラメーターの受け取り方は工夫をしないといけないのでしょうか。

お時間ある方で、FastAPIのPOST通信に関する知識をお持ちの方いらっしゃいましたらご助力頂けますと幸いです。


追記

良く分からないけどモデルを作る必要があるっぽい?

FastAPIでPOSTされたJSONのレスポンスbodyを受け取る

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

フロント側は正しく作れている前提で

def get_page(page_num: int = 1):

の部分を

from fastapi import Form def get_page(page_num: int = Form(...)):

もしそこら辺に転がってる情報を参考にFastAPIを使っているのならそれはやめて公式の説明を参考にする事をおすすめします。
日本語が無いとはいえほとんどコードだけ(しかも分かりやすい)なので、コード読めば分かるはず。

投稿2020/10/27 11:45

hentaiman

総合スコア6424

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問