retrofit简单使用

前言 

       Retrofit :Android和Java类型安全的HTTP客户端。是OkHttp的加强版,一个网络加载框架。底层是使用OKHttp封装的,而 Retrofit 仅负责网络请求接口的封装。它的一个特点是包含了特别多注解,方便简化你的代码量。并且还支持很多的开源库(著名例子:Retrofit + RxJava)。

       更多了解retrofit,推荐地址:https://www.jianshu.com/p/0fda3132cf98

 

简单使用教程

       官网手册:http://square.github.io/retrofit/

 

pom.xml

        <dependency>
            <groupId>com.squareup.retrofit2</groupId>
            <artifactId>retrofit</artifactId>
            <version>2.5.0</version>
        </dependency>

        <dependency>
            <groupId>com.squareup.retrofit2</groupId>
            <artifactId>converter-gson</artifactId>
            <version>2.5.0</version>
        </dependency>

 

定义一个接口

public interface ClassCenterClient {
    /**
     * 查询班级中的userId信息
     */
    @GET("/crmclasscenter/v1/userclass/classes/{classId}")
    Call<Resp<UserIdVO>> queryUserIdsByClassId(@Path("classId") String classId, @Query("forceQuery") String forceQuery);

}

注意:

1、上述使用@get注解,其他@post等注解也可用。

2、另外,参数中@Path注解  @Query注解解释如下

@Path

参数放在url的/ 路径上

@Body

post等方式传递的参数

@Query

参数是用?拼接的

 

调用其他服务方法时:

Retrofit retrofit = new Retrofit.Builder()
                .addConverterFactory(GsonConverterFactory.create())
                .baseUrl("http://123.com")
                .build();

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

  Call<Resp<UserIdVO>> aTrue = service.queryUserIdsByClassId(classId, "true");

    try {
            UserIdVO data = aTrue.execute().body().getData();
            log.info("查询到本班的userId为:{}",data);
            userIds = data.getUserIds();
        } catch (IOException e) {
            log.error("查询到本班用户信息失败,班级ID:{}",classId);
            e.printStackTrace();
        }

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值