我有一个端点如下:
/ 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
答案 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;
}
}