如何使用JSON将地图发布到Phoenix?

时间:2016-09-03 12:06:16

标签: elixir phoenix-framework

我是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被序列化/匹配到地图?

1 个答案:

答案 0 :(得分:0)

您需要发送到服务器的JSON需要看起来像

{
  "user": {
    "email": "foo@email.com",
    ...
  }
}

请注意顶层是否有用户密钥。这就是你的错误所指的

  

预期密钥"用户"出现在params