web-dev-qa-db-ja.com

Axiosでクエリパラメータを投稿する方法は?

いくつかのクエリパラメータを使用してAPIに投稿しようとしています。これは、クエリパラメータとしてmailとfirstnameを渡すことで、PostMan/Insomniaで機能しています。

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

ただし、React Nativeアプリでそれを行おうとすると、400エラー(無効なクエリパラメーター)が発生しました。

これはpostメソッドです:

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

(私のメールと名は次のようにconsole.loggedです:[email protected]およびmyFirstName)。

そのため、リクエストでクエリパラメータをAxiosで渡す方法がわかりません(現在、data: { mail: "[email protected]", firstname: "myFirstName" }を渡しているためです)。

ご協力ありがとうございました。

14
GuillaumeRZ

投稿の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));

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

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

41
enapupe