Android请求接口数据以json串提交

RetrofitUtils

public class RetrofitUtils {
    private static RetrofitUtils retrofitUtils=null;
    private final Retrofit retrofit;

    public RetrofitUtils() {

        OkHttpClient.Builder okHttpClient = new OkHttpClient.Builder();
        okHttpClient.readTimeout(3000, TimeUnit.SECONDS);
        okHttpClient.connectTimeout(3000,TimeUnit.SECONDS);



                retrofit = new Retrofit.Builder()
                        .baseUrl(HttpApi.BaseUrl)
                        .client(okHttpClient.build())
                        .addConverterFactory(GsonConverterFactory.create())
                        .build();

    }
    public static RetrofitUtils getInstance(){
        if(null==retrofitUtils){
            synchronized (RetrofitUtils.class){
                if(null==retrofitUtils){
                    retrofitUtils=new RetrofitUtils();
                }
            }
        }
        return retrofitUtils;
    }

    public Api getApi(){
        return retrofit.create(Api.class);
    }

}

Api

public interface Api {

    @POST(HttpApi.LoginUrl)
    Call<LoginResponse> getCars(@Body LoginRequest loginRequest);

}

请求代码的json

{"username":"111114","password":"111111"}

请求json串的LoginRequest

public class LoginRequest {

    /**
     * username : 111114
     * password : 111111
     */

    private String username;
    private String password;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

获得相应的数据LoginResponse

public class LoginResponse {

    /**
     * session_name : SESS19d924036de5ee0312a4edc91f39e3d7
     * sessid : qoEZlSBC9pHA2I1CPdMe9bHBarUq-e16LcZu8F3q95w
     * token : uwurW2mOPLYIm0DYrXWtYplqPefeZYWA3_HFdNsu18g
     * user : {"uid":"23"}
     */

    private String session_name;
    private String sessid;
    private String token;
    private UserBean user;

    public String getSession_name() {
        return session_name;
    }

    public void setSession_name(String session_name) {
        this.session_name = session_name;
    }

    public String getSessid() {
        return sessid;
    }

    public void setSessid(String sessid) {
        this.sessid = sessid;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public UserBean getUser() {
        return user;
    }

    public void setUser(UserBean user) {
        this.user = user;
    }

    public static class UserBean {
        /**
         * uid : 23
         */

        private String uid;

        public String getUid() {
            return uid;
        }

        public void setUid(String uid) {
            this.uid = uid;
        }
    }
}

用法

 LoginRequest loginRequest = new LoginRequest();
        loginRequest.setUsername("111114");
        loginRequest.setPassword("111111");

        Call<LoginResponse> cars = RetrofitUtils.getInstance().getApi().getCars(loginRequest);
        cars.enqueue(new Callback<LoginResponse>() {
            @Override
            public void onResponse(Call<LoginResponse> call, Response<LoginResponse> response) {
                LoginResponse body = response.body();
                Log.d(TAG, "onResponse: "+body+body.getSessid());

            }

            @Override
            public void onFailure(Call<LoginResponse> call, Throwable t) {

            }
        });
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值