标签:web service
WebService服务端框架:jerseyWebService调用方式:jersey、http、spring RestTemplate
Server:
@Configuration
public class ApplicationConfig {
@Named
static class JerseyConfig extends ResourceConfig {
public JerseyConfig() {
this.packages("com.lenovo.li.content.controllers");
}
}
@Bean
public ObjectMapper objectMapper() {
ObjectMapper objectMapper = new ObjectMapper();
return objectMapper;
}
}Pom
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jersey</artifactId> </dependency>
Controller
@Named
@Path("/Test")
public class RestController {
@POST
@Path("/get/{url}")
@Produces(MediaType.APPLICATION_JSON)
public Test getTestContent(@PathParam("url") final String url, @RequestBody Context context)
throws JsonParseException, JsonMappingException, IOException {
}
@PUT
@Path("/update/{url}")
@Produces(MediaType.APPLICATION_JSON)
public Test updateTestContent(@PathParam("url") final String url, @RequestBody Page page)
throws JsonParseException, JsonMappingException, IOException {
}
}Client
public class TestClient{
@Autowired
RestTemplate restTemplate;
public String getTestContent(String name, Context context) {
ResponseEntity<String> response = restTemplate.postForEntity(url, context,String.class);
return response.getBody();
}
}ClientXml
<bean id="drHttpRequestFactory" class="org.springframework.http.client.HttpComponentsClientHttpRequestFactory"/> <bean id="restTemplate" class="org.springframework.web.client.RestTemplate" p:requestFactory-ref="drHttpRequestFactory" > <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/plain;charset=UTF-8</value> <value>text/html;charset=UTF-8</value> <value>application/json; charset=UTF-8</value> </list> </property> </bean> <ref bean="mappingJackson2HttpMessageConverter"/> <bean class="org.springframework.http.converter.FormHttpMessageConverter"/> </list> </property> </bean>
标签:web service
原文地址:http://blog.51cto.com/xinzhilian/2052807