Retrofit2.0学习之Post请求

本文介绍了如何使用Retrofit 2.0实现POST请求,并详细展示了接口定义、JavaBean构造及请求发送的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前不久刚刚学习了Retrofit的GET请求Retrofit2.0之GET请求,今天又大致学习了一下POST请求,记录一下学习历程,在GET请求的基础上。

在接口NewsApi中增加post请求的方法:

 @POST("toutiao/index?key=a2924a746f129e1f4b37d81dc5fea156")
 Call<NewsBean> getDataByPost(@Body ApiBean aPiBean);

ApiBean是什么东东?其实就是Body的JavaBean,因为我这里只有一个type参数,所以比较简单:

public class ApiBean {
public String type;
}

其余的和GET请求一致了:

  //通过Retrofit创建接口对象
    NewsApi newsApi = retrofit.create(NewsApi.class);

    ApiBean apiBean = new ApiBean();
    apiBean.type="top";

    mCall = newsApi.getDataByPost(apiBean);
    mCall.enqueue(new Callback<NewsBean>() {
        @Override
        public void onResponse(Call<NewsBean> call, Response<NewsBean> response) {
            LogUtils.LogUtil("size="+response.body().result.data.size());
        }

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

        }
    });
}

如果你想取消请求,可以的:

mCall.cancel();

Retrofit也提供了同步请求的方法,不过Android是不允许在mainThread进行耗时操作的了:

mCall.execute();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值