Android I';m发送JSONObject代码=500,消息=内部服务器错误
我正在向发布多个JSON数组,但它给出了一个错误内部服务器错误,但它在postman上运行良好Android I';m发送JSONObject代码=500,消息=内部服务器错误,android,rest,mobile,retrofit,retrofit2,Android,Rest,Mobile,Retrofit,Retrofit2,我正在向发布多个JSON数组,但它给出了一个错误内部服务器错误,但它在postman上运行良好 {"data":[{"id":"15","pName":"15","pAge":"15","pGender":"15","pPhone":"15","pNIC":"15","pDiagnosis":"15","dName":"15","dSpeciality":"15","dPhone":"15","dInstitution":"15","dAssistantName":"15","dCity":"1
{"data":[{"id":"15","pName":"15","pAge":"15","pGender":"15","pPhone":"15","pNIC":"15","pDiagnosis":"15","dName":"15","dSpeciality":"15","dPhone":"15","dInstitution":"15","dAssistantName":"15","dCity":"15"}]}
接口
@Headers({
"Content-Type: application/json",
"Authorization: Basic c3ltby1hcHAtaW9zOmE4ODI4NjY1LTU1MzgtNGNlYy1hYzU4LWE0YmU0NmE1Y2Y3OA==",
"client-id: bitmoon-app-android"
})
@POST("medical-ic10/public/api/user/pending")
Call<JSONObject> SUBMIT_OFFLINE_RECORD(@Body JSONObject offlineRequest);
邮差屏幕
public void getData(JSONObject J) {
Api api= RetrofitClientInstance.getRetrofitInstance().create(Api.class);
Call<JSONObject> call=api.SUBMIT_OFFLINE_RECORD(J);
call.enqueue(new Callback<JSONObject>() {
@Override
public void onResponse(Call<JSONObject> call, Response<JSONObject> response) {
}
@Override
public void onFailure(Call<JSONObject> call, Throwable t) {
Toast.makeText(Offlinerecord_Activity.this, ""+t.getLocalizedMessage(), Toast.LENGTH_SHORT).show();
Log.e("GSON",t.getLocalizedMessage());
}
});
}
您应该在API接口中使用Gson库中的
JsonObject
类。(在使用改型时,不需要单独包括Gson库)如下所示
Call<JsonObject> SUBMIT_OFFLINE_RECORD(@Body JsonObject offlineRequest);
Data.java
import java.util.List;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Example {
@SerializedName("data")
@Expose
private List<Datum> data = null;
public Example(List<Datum> data) {
this.data = data;
}
}
POJO类的使用
User user = new User(/* pass all required parameters to constructor */);
Data data = new Data(user); // pass User object to constructor
// pass Data object to API request method
Api api= RetrofitClientInstance.getRetrofitInstance().create(Api.class);
Call<JsonObject> call = api.SUBMIT_OFFLINE_RECORD(data);
// implement call listeners
User User=新用户(/*将所有必需参数传递给构造函数*/);
数据数据=新数据(用户);//将用户对象传递给构造函数
//将数据对象传递给API请求方法
Api Api=RefughtClientInstance.GetRefughtInstance().create(Api.class);
Call Call=api。提交离线记录(数据);
//实现调用侦听器
请注意,我已将参数从
JSONObject
更改为JSONObject
以及Call
参数。请共享您的邮差屏幕是否需要发送api密钥?Cookies?不只是参数。方法类型、请求和响应等。不要忘记隐藏url链接。还要计算传递给getData方法的J参数。这可能和你在《邮递员》中做的一样。再次检查@JuanjoBerenguer
Call<JsonObject> SUBMIT_OFFLINE_RECORD(@Body Data offlineRequest);
User user = new User(/* pass all required parameters to constructor */);
Data data = new Data(user); // pass User object to constructor
// pass Data object to API request method
Api api= RetrofitClientInstance.getRetrofitInstance().create(Api.class);
Call<JsonObject> call = api.SUBMIT_OFFLINE_RECORD(data);
// implement call listeners