利用androidannotations的@Rest注解替换Spring Android(安卓)RestTemplate
16lz
2022-06-10
转载请注明http://xuantan.iteye.com/admin/blogs/1826334
利用androidannotations的Rest注解替换手工建立Spring Android RestTemplate对象,不仅可以减少很多代码,同时使工程结构更简洁、严谨,利于复用。
自己构造RestTemplate的原生写法:
HttpHeaders requestHeaders = new HttpHeaders();List<MediaType> acceptableMediaTypes = new ArrayList<MediaType>();acceptableMediaTypes.add(MediaType.APPLICATION_JSON);requestHeaders.setAccept(acceptableMediaTypes);HttpEntity<?> requestEntity = new HttpEntity<Object>(requestHeaders);RestTemplate restTemplate = new RestTemplate();restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());ResponseEntity<User[]> responseEntity = restTemplate.exchange(url, HttpMethod.GET, requestEntity, User[].class);
利用androidannotations的Rest注解替换后的代码:
...@RestServiceRestApiService restApiService;......ResponseEntity<User[]> responseEntity = restApiService.getByStatus();
RestApiService的代码为:
package com.taobao.together.service;import java.util.List;import org.springframework.http.ResponseEntity;import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;import com.googlecode.androidannotations.annotations.rest.Get;import com.googlecode.androidannotations.annotations.rest.Rest;import com.taobao.together.common.model.User;/** * 类说明 * @author xuantan.zym * @version V1.0 创建时间: 2013-3-8 下午2:33:18 */@Rest(rootUrl = "http://10.0.2.2:8080/together/api", converters = { MappingJackson2HttpMessageConverter.class })public interface RestApiService {@Get("/user/getByStatus.do?status=1")ResponseEntity<User[]> getUsersByStatus();}
相关参考:
https://github.com/excilys/androidannotations/wiki/Rest-API
更多相关文章
- Android用代码实现EditText不可编辑
- Android中webview跟JAVASCRIPT中的交互
- Android非Kotlin支持项目添加Kotlin代码时的注意点
- android 设置透明度 标题栏 窗体透明
- android关于EditText取消默认焦点及触摸其它地方去掉光标隐藏键
- 如何实现手势缩放图片
- Android学习之 Intent
- android应用软件源码
- 用Android代码实现打开USB调试