1. ホーム
  2. javascript

[解決済み] Axiosでクエリパラメータを投稿するには?

2022-03-16 05:14:31

質問

APIにクエリパラメータを指定して投稿しようとしています。 これは、私がクエリパラメータとしてメールとfirstnameを渡すことによってしようとしているとき、PostMan / Insomniaで動作しています。

 http://localhost:8000/api/mails/users/sendVerificationMail?mail=lol%40lol.com&firstname=myFirstName

しかし、これをreact nativeアプリでやろうとすると、400エラー(Invalid Query Parameters)が発生します。

これは、postメソッドです。

.post(`/mails/users/sendVerificationMail`, {
  mail,
  firstname
})
.then(response => response.status)
.catch(err => console.warn(err));

(私のメールとfirstnameは以下のようにconsole.logされています。 [email protected]myFirstName ).

というわけで、AxiosでQuery Parameterをリクエストで渡す方法がわかりません(今現在、それは data: { mail: "[email protected]", firstname: "myFirstName" } .

解決方法は?

投稿に対する axios の署名は axios.post(url[, data[, config]]) . そこで、第3引数でparamsオブジェクトを送りたいわけです。

.post(`/mails/users/sendVerificationMail`, null, { params: {
  mail,
  firstname
}})
.then(response => response.status)
.catch(err => console.warn(err));

これは、2つのクエリパラメータを持つ空のボディをPOSTします。

POST http://localhost:8000/api/mails/users/sendVerificationMail?mail=lol%40lol.com&firstname=myFirstName