yikegaya’s blog

仕事関連(Webエンジニア)と資産運用について書いてます

axiosのpostリクエストをginで受け取る

Reactでaxiosからgolang+ginのAPIサーバにpostリクエストを送る時にこんな感じ↓でaxiosからpostされてきた値を受け取ろうとしてうまくいかなかった。

ginで作ったサーバサイド

func (pc Controller) Login(c *gin.Context) {

  param_name := c.PostForm("name")
  param_password := c.PostForm("password")

}

reactのフロントエンド

  const [name, setName] = useState<string>("")
  const [email, setEmail] = useState<string>("")
  const [password1, setPassword1] = useState<string>("")

  const params: User = {
    name: name,
    email: email,
    password: password1
  }
axios.post('http://localhost:3002/login', params

ginでc.ShouldBindJSON(&u)の形式だと受け取れてるっぽいけど何がダメなのか?

解決策

  const [name, setName] = useState<string>("")
  const [password1, setPassword1] = useState<string>("")

  const params = new URLSearchParams();
  params.append('name', name)
  params.append('password', password1)

axios.post('http://localhost:3002/login', params)

paramをURLSearchParamsから作成しないとPostFormで受け取れない