您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用Retrofit2在POST请求中发送JSON

使用Retrofit2在POST请求中发送JSON

在gradle中使用这些

compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
compile 'com.squareup.retrofit2:converter-scalars:2.3.0'

使用这两个POJO类........

LoginData.class

public class LoginData {

    private String email;
    private String password;

    public LoginData(String email, String password) {
        this.email = email;
        this.password = password;
    }

    /**
     *
     * @return
     * The email
     */
    public String getEmail() {
        return email;
    }

    /**
     *
     * @param email
     * The email
     */
    public void setEmail(String email) {
        this.email = email;
    }

    /**
     *
     * @return
     * The password
     */
    public String getpassword() {
        return password;
    }

    /**
     *
     * @param password
     * The password
     */
    public void setPassword(String password) {
        this.password = password;
    }

}

LoginResult.class

public class LoginResult {

    private Boolean error;
    private String message;
    private Integer doctorid;
    private Boolean active;

    /**
     *
     * @return
     * The error
     */
    public Boolean getError() {
        return error;
    }

    /**
     *
     * @param error
     * The error
     */
    public void setError(Boolean error) {
        this.error = error;
    }

    /**
     *
     * @return
     * The message
     */
    public String getMessage() {
        return message;
    }

    /**
     *
     * @param message
     * The message
     */
    public void setMessage(String message) {
        this.message = message;
    }

    /**
     *
     * @return
     * The doctorid
     */
    public Integer getDoctorid() {
        return doctorid;
    }

    /**
     *
     * @param doctorid
     * The doctorid
     */
    public void setDoctorid(Integer doctorid) {
        this.doctorid = doctorid;
    }

    /**
     *
     * @return
     * The active
     */
    public Boolean getActive() {
        return active;
    }

    /**
     *
     * @param active
     * The active
     */
    public void setActive(Boolean active) {
        this.active = active;
    }

}

像这样使用API

public interface RetrofitInterface {
     @POST("User/DoctorLogin")
        Call<LoginResult> getStringScalar(@Body LoginData body);
}

使用这样的呼叫....

Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("Your domain URL here")
            .addConverterFactory(ScalarsConverterFactory.create())
            .addConverterFactory(GsonConverterFactory.create())
            .build();

       RetrofitInterface service = retrofit.create(RetrofitInterface .class);

 Call<LoginResult> call=service.getStringScalar(new LoginData(email,password));
    call.enqueue(new Callback<LoginResult>() {
                @Override
                public void onResponse(Call<LoginResult> call, Response<LoginResult> response) { 
               //response.body() have your LoginResult fields and methods  (example you have to access error then try like this response.body().getError() )

              }

                @Override
                public void onFailure(Call<LoginResult> call, Throwable t) {
           //for getting error in network put here Toast, so get the error on network 
                }
            });

把它放在success().... 里面

if(response.body().getError()){
   Toast.makeText(getBaseContext(),response.body().getMessage(),Toast.LENGTH_SHORT).show();


}else {
          //response.body() have your LoginResult fields and methods  (example you have to access error then try like this response.body().getError() )
                String msg = response.body().getMessage();
                int docId = response.body().getDoctorid();
                boolean error = response.body().getError();

                boolean activie = response.body().getActive()();   
}

注意:-始终使用POJO类,它会在改造中删除JSON数据解析。

其他 2022/1/1 18:13:40 有720人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶