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, 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>