retrofit2发送接收请求
pom中添加依赖
<!--retrofit2-->
<dependency>
<groupId>com.squareup.retrofit2</groupId>
<artifactId>retrofit</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>com.squareup.retrofit2</groupId>
<artifactId>converter-gson</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
-
创建 用于描述网络请求的接口
public interface MetaManApi { @GET("property/ent/{categoryId}")//网络请求接口的后半部分 Call<QueryResponse> getAttribute(@Path("categoryId") String categoryId); }
-
创建 Retrofit 实例
Retrofit retrofit=new Retrofit.Builder() .baseUrl(sysConfig.getMetaservice_ip()+"/meta/")//网络请求URL .addConverterFactory(GsonConverterFactory.create//添加Gson支持,然后Retrofit就会使用Gson将响应体(api接口的Take)转换我们想要的类型 .build();
-
创建 网络请求接口实例
Call<QueryResponse> call= retrofit.create(MetaManApi.class).getAttribute(categoryId);
-
处理返回数据
QueryResponse responseBody = null;
try {
responseBody = call.execute().body();
} catch (IOException e) {
e.printStackTrace();
}
if(responseBody!=null&&responseBody.isSuccess()){
String json = responseBody.getJson();
if(StringUtils.isEmpty(json)){
return Collections.emptyList();
}else{
//对json进行进一步处理
return getListData("properties", json, VoProType.class);
}
}else{
return Collections.emptyList();
}