我是Elixir 1.3.2和Phoenix 1.2.1的新手,我试图在关注this教程之后将用户对象(地图)发布到凤凰城。我正在使用邮递员和正确的网址http://localhost:4000/api/users。起初我尝试了一个带有json对象的原始体,但后来我得到了一个缺失的密钥异常:预期的密钥“user”出现在params中,请发送预期的密钥或调整您的scrub_params / 2调用
然后我在postman中使用了formdata选项,其中包含一个键:“User”和值:“{email:”foo@bar.be“,密码:”s3cr3t“}”。这导致elixir API出现以下错误响应:期望的params为地图,得到:"{email: \"foo@bar.be\", password: \"s3cr3t\"}"
谁能告诉我我做错了什么?以及如何确保JSON被序列化/匹配到地图?
答案 0 :(得分:0)
您需要发送到服务器的JSON需要看起来像
{
"user": {
"email": "foo@email.com",
...
}
}
请注意顶层是否有用户密钥。这就是你的错误所指的
预期密钥"用户"出现在params