大佬教程收集整理的这篇文章主要介绍了改造 2 POST JSON 对象,响应给出错误代码 400,消息 = nul,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试发布用户详细信息以使用 POJO 类在数据库中创建新用户。 API 接受原始 JsON 作为发布请求。 我收到的响应是“Response{protocol=http/1.1,code=400,message=,url=my API url}”
我正在使用 POJO 类 createuser 为我的用户创建详细信息并将其传递给 Retrofit API 接口
我的API定义如下,createuserResponse是存储Retrofit Response的响应POJO类
public interface APIDeFinitions {
@POST("auth/register")
Call<createuserResponse> RegisterUser(@Body createuser createuser);
}
我的改造客户端安装类:
public class RetrofitClIEnt {
private final static String base_url = "https://url/";
private static RetrofitClIEnt retrofitClIEnt;
private static Retrofit retrofit;
httpLoggingInterceptor interceptor = new httpLoggingInterceptor();
OkhttpClIEnt clIEnt = new OkhttpClIEnt.builder().addInterceptor(interceptor).build();
private RetrofitClIEnt(){
retrofit = new Retrofit.builder()
.baseUrl(base_url)
.addConverterFactory(GsonConverterFactory.create())
.addConverterFactory(ScalarsConverterFactory.create())
.clIEnt(clIEnt)
.build();
}
public static synchronized RetrofitClIEnt geTinstance(){
if (retrofitClIEnt == null)
retrofitClIEnt = new RetrofitClIEnt();
return retrofitClIEnt;
}
public APIDeFinitions getAPI() {
return retrofit.create(APIDeFinitions.class);
}
}
以下是我如何在我的用户活动中进行新呼叫和发送 POST 请求
// The below createuser object initialization is for tesTing purpose and thus hardcoded
createuser user = new createuser(
"harshpalit","harshpalit@gmail.com","harshpalit","Harsh","Palit",987845789);
Call<createuserResponse> call = RetrofitClIEnt
.geTinstance()
.getAPI()
.RegisterUser(user);
Log.d("request",call.request().body().ContentType().toString());
Log.d("request",call.request().toString());
call.enqueue(new CallBACk<createuserResponse>() {
@OverrIDe
public voID onResponse(Call<createuserResponse> call,Response<createuserResponse> responsE) {
Log.d("Response from Server",response.raw().toString());
if (response.code()==400) {
Log.d("Error 400",response.errorBody().toString());
} else {
Toast.makeText(getApplicationContext(),response.message(),Toast.LENGTH_SHORT).show();
}
createuserResponse response1 = response.body();
Log.d("Response message",response1.getmessage() + "Failed");
}
@OverrIDe
public voID onFailure(Call<createuserResponse> call,Throwable t) {
Log.d("Failed Log",t.getmessage());
Toast.makeText(getApplicationContext(),"Failed",Toast.LENGTH_SHORT).show();
}
});
}
});
我正在发送的请求调用:
请求{方法=POST, url=https://managed-dev-test.herokuapp.com/API/auth/register, 标签={类 retrofit2.Invocation=com.craftec.managed.API.APIDeFinitions.RegisterUser() [com.craftec.managed.POJO.createuser@b2319f8]}}
回复:
响应{protocol=http/1.1,url=https://managed-dev-test.herokuapp.com/API/auth/register}
似乎一切都到位了。请帮忙
首先,使用 PostMan 或任何其他相关应用程序测试 API 并获得响应。 之后为它创建一个合适的 POJO 类。 如果一切顺利,它将解决您的问题。
验证 CreateUserResponse POJO 类
public class CreateUserResponse {
@serializedName("success")
@Expose
private Boolean success;
@serializedName("message")
@Expose
private String message;
public Boolean getsuccess() {
return success;
}
public void setsuccess(Boolean success) {
this.success = success;
}
public String getmessage() {
return message;
}
public void setmessage(String messagE) {
this.message = message;
}
}
如果这没有解决问题,那么您必须检查 CreateUser 类。 验证您是否为每个字段传递了正确的值。
以上是大佬教程为你收集整理的改造 2 POST JSON 对象,响应给出错误代码 400,消息 = nul全部内容,希望文章能够帮你解决改造 2 POST JSON 对象,响应给出错误代码 400,消息 = nul所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。