`
zhangym124
  • 浏览: 339171 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

利用androidannotations的@Rest注解替换Spring Android RestTemplate

阅读更多

转载请注明 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注解替换后的代码:

 

...
@RestService
RestApiService 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

 

2
0
分享到:
评论
2 楼 zhangym124 2013-12-04  
yanfei19880812 写道
请问 服务器返回的内容是json格式的么

是的。
1 楼 yanfei19880812 2013-12-04  
请问 服务器返回的内容是json格式的么

相关推荐

Global site tag (gtag.js) - Google Analytics