类型安全的网络请求框架retrofit---1

官方git地址:https://github.com/square/retrofit.git

简介:

首先定义请求接口,看都需要什么网络操作

public interface GitHubService {
  @GET("/users/{user}/repos")
  Call<List<Repo>> listRepos(@Path("user") String user);
}

上面的接口表示通过Rest风格的请求List数据集

然后利用Retrofit class 来生成网络请求的实现

Retrofit retrofit = new Retrofit.Builder()
    .baseUrl("https://api.github.com")
    .build();

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

baseUrl指的是网络请求的基础url

通过调用实现的的操作即可实现联网请求数据

Call<List<Repo>> repos = service.listRepos("octocat");

每一个请求方法都必须用注解注释,一共有 GET, POST, PUT, DELETE, and HEAD 5种注解,每种注解对应相应的Rest请求方法

GET 请求

@GET("/users/list")

你也可以把请求参数添加在url中

@GET("/users/list?sort=desc")

对应Rest请求中可以在路径中包含参数,retrofit同样可以添加路径参数,注解中用{}括起来的就是路径参数,与此同时需要在请求方法的参数中用@Path来注明此参数为路径参数,如

@GET("/group/{id}/users")
List<User> groupList(@Path("id") int groupId);

同样也可以在请求方法中添加请求参数

@GET("/group/{id}/users")
List<User> groupList(@Path("id") int groupId, @Query("sort") String sort);

retrofit 很强大,可以直接添加Map类型的请求参数

@GET("/group/{id}/users")
List<User> groupList(@Path("id") int groupId, @QueryMap Map<String, String> options);

介绍完GET请求,接下来肯定就是POST请求了

不愧为面向对象和接口编程的框架,POST请求可以直接用model类来传递参数,如果你在注册新用户的时候,需要的信息就可以使用@Body将model 通过POST方法上传给服务器

@POST("/users/new")
Call<User> createUser(@Body User user);

那如何在Android studio中使用呢,如果使用的Gradle构建的项目

compile 'com.squareup.retrofit:retrofit:1.9.0'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值