Android Retrofit 2.0联网请求遇到的相关问题

Android Retrofit 2.0关于请求头,请求体问题。

最近遇到一个关于请求头和请求体问题。服务器要求我们直接将参数拼在请求地址后面。按照Android Retrofit 2.0的写法,死活调不到服务器正常返回数据。

在这里插入图片描述
举例如下:

ProjectAPIService apiService = RetrofitUtils.retrofit.create(ProjectAPIService.class);

    apiService.doLogin(Constants.ROOT_URL + Constants.GET_USER_LOGIN, map1).enqueue(new MyCallBack3<BaseCallModel3<ResultValueBean>>() {

        @Override
        public void onSuc(Response<BaseCallModel3<ResultValueBean>> response) {
            if (response.isSuccessful() && response.raw().code() == 200) {
                Constants.Cookie = response.headers().get("Set-Cookie");

服务器要求分别为,登录不带cookie,登录之后的联网操作都要带返回的cookie。

不带cookie开始使用第一种方式请求,后台一直报错。后查原因,Retrofit 2.0后拼的参数默认不是直接拼到URL后面,而是以body形式传到后台,发现后台接收不了。所以改为第二种。一定要提前确认后台需要的请求格式,很重要!!!

而第三种数据格式,是由于登录之后的请求都需要带cookie的所以必须带请求头里加参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值