利用androidannotations的@Rest注解替换Spring Android 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
?