程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了改造 2 POST JSON 对象,响应给出错误代码 400,消息 = nul大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决改造 2 POST JSON 对象,响应给出错误代码 400,消息 = nul?

开发过程中遇到改造 2 POST JSON 对象,响应给出错误代码 400,消息 = nul的问题如何解决?下面主要结合日常开发的经验,给出你关于改造 2 POST JSON 对象,响应给出错误代码 400,消息 = nul的解决方法建议,希望对你解决改造 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,请注明来意。