Java - Retrofit

本文讲解了如何在Java项目中利用Retrofit和OkHttp构建API客户端,涉及OkHttpClient设置、Retrofit构建及关键注解的使用。
摘要由CSDN通过智能技术生成

本文记录纯Java客户端使用Retrofit方法

  1. 引包
retrofit-2.9.0.jar
okhttp-4.12.0.jar
okio-3.7.0.jar
okio-jvm-3.7.0.jar
converter-gson-2.9.0.jar
gson-2.10.1.jar
kotlin-stdlib-1.9.20.jar
  1. 客户端代码
OkHttpClient client = new OkHttpClient.Builder().build();
Retrofit retrofit = new Retrofit.Builder()
    				.client(client)
                    .baseUrl(BASE_IP)
                    .addConverterFactory(GsonConverterFactory.create())
                    .build();
  1. 常用注解
Retrofit是一个类型安全的HTTP客户端,用于Android和Java应用程序,它通过使用注解来描述HTTP请求,参数和响应体,从而将服务端API调用转化为Java接口的实现。下面将介绍如何在Java中使用Retrofit进行API调用: 1. **添加依赖**:在项目中添加Retrofit的依赖项,如果你使用的是Gradle构建工具,可以在build.gradle文件中添加如下依赖: ```java implementation 'com.squareup.retrofit2:retrofit:2.9.0' ``` 2. **创建Retrofit实例**:创建一个Retrofit实例需要提供两个主要的东西:一个基础URL和一个OkHttpClient实例。基础URL是API的基础路径,OkHttpClient用于配置网络请求的属性,如超时时间等。 ```java Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://api.example.com/") .client(new OkHttpClient()) .addConverterFactory(GsonConverterFactory.create()) .build(); ``` 3. **定义服务接口**:创建一个接口作为API的抽象定义,通过在接口方法上添加注解来描述HTTP请求的细节,例如@GET、@POST等。 ```java public interface ApiService { @GET("user/{id}") Call<User> getUser(@Path("id") int userId); } ``` 4. **生成API对象**:利用之前创建的Retrofit实例来生成API对象。 ```java ApiService apiService = retrofit.create(ApiService.class); ``` 5. **发起API调用**:现在可以通过API对象发起同步或异步的API调用了。 ```java // 同步调用 User user = apiService.getUser(1).execute().body(); // 异步调用 Call<User> call = apiService.getUser(1); call.enqueue(new Callback<User>() { @Override public void onResponse(Call<User> call, Response<User> response) { if (response.isSuccessful()) { User user = response.body(); // 处理用户数据 } else { // 处理错误情况 } } @Override public void onFailure(Call<User> call, Throwable t) { // 处理失败情况 } }); ``` 通过以上步骤,你就可以在Java项目中使用Retrofit进行高效的API调用了。记得替换示例中的URL和API接口为你实际项目中的地址和接口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值