【发布时间】:2017-10-10 12:02:04
【问题描述】:
我无法在改造中以行 json 格式发送数据。
我将改造 1.9 迁移到 2。在改造 1.9 中,我能够使用 HashMap 发送原始 json,但在改造 2 中,我使用 HashMap,但我无法将数据作为 json 发送。 所以我改用pojo。
api 生成尝试获取非对象属性的日志,因此我无法在行 json 中传递数据。
我刚刚在 error_log 中看到我的服务器详细信息,我的请求自动转换为 GET。我使用retrofit2、retrofit 1.9、volly any Asynctask 在POST 中传递数据。我不知道为什么我的服务器被当作 GET。 从邮递员那里,它工作得很好。
任何帮助都会对我有用。 谢谢
这是我的代码
我的 pojo 类请求
public class RegisterdUserData {
@SerializedName("userEmail")
@Expose
private String userEmail;
@SerializedName("userName")
@Expose
private String userName;
@SerializedName("firstName")
@Expose
private String firstName;
@SerializedName("lastName")
@Expose
private String lastName;
@SerializedName("userPassword")
@Expose
private String userPassword;
@SerializedName("userRole")
@Expose
private String userRole;
public String getUserEmail() {
return userEmail;
}
public void setUserEmail(String userEmail) {
this.userEmail = userEmail;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public String getUserRole() {
return userRole;
}
public void setUserRole(String userRole) {
this.userRole = userRole;
}
请求
@Headers("Content-Type: application/json")
@POST("/api/CreateUser.php")
Call<AppUserData> CreateUser(@Body RegisterdUserData registerdUserData);
我的电话
private void CreateUser(String userEmail, String firstName, String lasName, String userName, String userPassword, String userRole) {
RegisterdUserData registerdUserData = new RegisterdUserData();
registerdUserData.setFirstName(firstName);
registerdUserData.setLastName(lasName);
registerdUserData.setUserEmail(userEmail);
registerdUserData.setUserName(userName);
registerdUserData.setUserPassword(userPassword);
registerdUserData.setUserRole(userRole);
util.http.CreateUser(registerdUserData).enqueue(new Callback<AppUserData>() {
@Override
public void onResponse(Call<AppUserData> call, Response<AppUserData> response) {
util.log(TAG, "" + response);
}
@Override
public void onFailure(Call<AppUserData> call, Throwable t) {
util.log(TAG, "" + t);
}
});
}
【问题讨论】:
-
尝试将
@POST("/api/CreateUser.php")更改为@POST("api/CreateUser.php") -
没有帮助。 @AshutoshSagar