改造1.9:我如何将数据发布到此端点?

时间:2015-09-29 11:04:41

标签: android ruby-on-rails retrofit

我有一个端点如下:

  

/ API / V1 /注册?

我必须将以下参数发布到此端点,以这种方式接受它。

  

用户[电子邮件] =john@google.com&用户[口令] = 030386

总的来说,它看起来像这样

  

/ API / V1 /注册用户[电子邮件] =john@google.com&用户[口令] = 030386

我认为API是一个rails环境,但我真的很困惑这些参数。他们是阵列吗?我不确定。

到目前为止我有这个

@POST(URLConstants.CREATE_ACCOUNT)
    void createUser(@Body CreateUser createUser, Callback<Response> callback);

忽略响应回调,我现在只对原始响应感兴趣。

这是我的POJO CreateUser

public class CreateUser {

    @SerializedName("user")
    private ArrayList<AccountFields> mAccountFields;

    public CreateUser(ArrayList<AccountFields> accountFields) {
        this.mAccountFields = accountFields;
    }

    public static class AccountFields{
        @SerializedName("email")
        private String mEmail;

        @SerializedName("password")
        private String mPassword;

        public AccountFields(String mEmail, String mPassword) {
            this.mEmail = mEmail;
            this.mPassword = mPassword;
        }
    }

}

服务器返回500内部服务器错误。我认为这个问题就在我身边,因为我可以测试邮递员的电话,这个工作正常。

如何发送此数据?

编辑1:这些参数怎么样

  

用户[answers_attributes] [0] [答案] =酒吧

     

用户[answers_attributes] [0] [question_id] = 1

     

用户[answers_attributes] [1] [答案] = FOO

     

用户[answers_attributes] [1] [question_id] = 2

1 个答案:

答案 0 :(得分:0)

非常感谢

这是序列化数据的POJO

public class CreateUser {

    @SerializedName("user")
    private AccountFields mAccountFields;

   public CreateUser(AccountFields accountFields) {
      this.mAccountFields = accountFields;
   }
   public static class AccountFields{
        @SerializedName("email")
        private String mEmail;

        @SerializedName("password")
        private String mPassword;

        public AccountFields(String mEmail, String mPassword) {
            this.mEmail = mEmail;
            this.mPassword = mPassword;
        }
}