WebService服务端框架:jersey
WebService调用方式: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>