Android 无法在安卓系统的改型2中以json格式发送数据
我无法在改型中以行json格式发送数据 我将改装版1.9迁移到2。在Retrfit1.9中,我可以使用HashMap发送原始json,但在改型2中,我使用HashMap发送,但无法将数据作为json发送。 所以我用pojo来代替 api生成试图获取非对象属性的日志,因此我无法在json行中传递数据 我刚刚在错误日志中看到了我的服务器详细信息,我的请求自动转换为GET。我在POST中使用Reformation2、Reformation1.9和其他异步任务传递数据。我不知道为什么我的服务器被当作GET。 从邮递员那里,一切正常 任何帮助都会对我有用。 谢谢 这是我的密码 我的pojo课程需要申请Android 无法在安卓系统的改型2中以json格式发送数据,android,json,retrofit2,Android,Json,Retrofit2,我无法在改型中以行json格式发送数据 我将改装版1.9迁移到2。在Retrfit1.9中,我可以使用HashMap发送原始json,但在改型2中,我使用HashMap发送,但无法将数据作为json发送。 所以我用pojo来代替 api生成试图获取非对象属性的日志,因此我无法在json行中传递数据 我刚刚在错误日志中看到了我的服务器详细信息,我的请求自动转换为GET。我在POST中使用Reformation2、Reformation1.9和其他异步任务传递数据。我不知道为什么我的服务器被当作GE
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);
@Headers(“内容类型:application/json”)
@POST(“/api/CreateUser.php”)
调用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);
}
});
}
private void CreateUser(字符串userEmail、字符串firstName、字符串lasName、字符串userName、字符串userPassword、字符串userRole){
RegisterdUserData RegisterdUserData=新的RegisterdUserData();
registerdUserData.setFirstName(firstName);
registerdUserData.setLastName(lasName);
registerdUserData.setUserEmail(userEmail);
registerdUserData.setUserName(用户名);
registerdUserData.setUserPassword(userPassword);
registerdUserData.setUserRole(userRole);
util.http.CreateUser(registerdUserData).enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
util.log(标记“”+响应);
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
util.log(标记“”+t);
}
});
}
我建议您以Map
就你而言:
Map<String,Object> requestBody = new HashMap()<>;
requestBody.put("userInfo", registerdUserData);
如果您有任何疑问,请发表评论。问题在于www。如果我正在删除它,那么它就可以正常工作。我不知道为什么。但是它帮助了我。
感谢您的回复@Manikanta@AshutoshSaga同样的错误。我正在为addConverterFactory使用gson。这和这个错误有关系吗?只是尝试一下JacksonConvertorFactory。并将其映射为一个值得使用的请求体!!。尝试将
@POST(“/api/CreateUser.php”)
更改为@POST(“api/CreateUser.php”)
,这没有帮助@阿什图什萨加尔
@Headers("Content-Type: application/json")
@POST("/api/CreateUser.php")
Call<AppUserData> CreateUser(@Body Map<String,Object> registerdUserData);
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(baseUrl)
.addConverterFactory(JacksonConverterFactory.create())
.client(client)
.build();