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で受け取れない