【发布时间】:2015-09-30 22:11:30
【问题描述】:
您好,我有一个端点如下:
/api/v1/注册?
我必须将以下参数发布到以这种方式接受它的端点。
user[email]=john@google.com&user[password]=030386
所以整体看起来像这样
/api/v1/registration?user[email]=john@google.com&user[password]=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,内部服务器错误。我认为问题出在我这边,因为我可以测试对 postman 的调用,它工作正常。
如何发送这些数据?
编辑 1:这些参数呢
用户[answers_attributes][0][answer]=bar
用户[answers_attributes][0][question_id]=1
用户[answers_attributes][1][answer]=foo
用户[answers_attributes][1][question_id]=2
【问题讨论】:
-
这是一个哈希,相当于:{user: {email: john@google.com, password: 030386} }。您需要将电子邮件和密码嵌套为用户的值。你能看到/粘贴实际的帖子和它的正文吗?
-
@omarvelous 谢谢,成功了
-
@omarvelous 你能检查我的编辑吗,我以前也遇到过这些参数,JSON = 中的等价物是什么?
-
answers_attributes 部分是一个数组:
{user: {answer_attributes: [{answer: bar, question_id: 1}, {answer: foo, question_id: 2}]}}
标签: android ruby-on-rails retrofit