diff --git a/examples/showcase/src/main/java/org/springside/examples/showcase/webservice/jaxrs/AccountRestService.java b/examples/showcase/src/main/java/org/springside/examples/showcase/webservice/jaxrs/AccountJaxRsService.java similarity index 97% rename from examples/showcase/src/main/java/org/springside/examples/showcase/webservice/jaxrs/AccountRestService.java rename to examples/showcase/src/main/java/org/springside/examples/showcase/webservice/jaxrs/AccountJaxRsService.java index 2c22ffb081235f4032546928a09ea75882bf2bc1..60b56770247a555554810967d21489a944ad5f97 100644 --- a/examples/showcase/src/main/java/org/springside/examples/showcase/webservice/jaxrs/AccountRestService.java +++ b/examples/showcase/src/main/java/org/springside/examples/showcase/webservice/jaxrs/AccountJaxRsService.java @@ -13,7 +13,7 @@ import org.springside.examples.showcase.webservice.rest.UserDTO; import org.springside.modules.mapper.BeanMapper; @Path("/user") -public class AccountRestService { +public class AccountJaxRsService { @Autowired private AccountEffectiveService accountService; diff --git a/examples/showcase/src/main/resources/applicationContext-showcases.xml b/examples/showcase/src/main/resources/applicationContext-showcases.xml index 9f1c2b21022c4927446f6701429045e1d7579c4b..65e434313207379fca37fe264a610dc8ed9e198a 100644 --- a/examples/showcase/src/main/resources/applicationContext-showcases.xml +++ b/examples/showcase/src/main/resources/applicationContext-showcases.xml @@ -16,5 +16,5 @@ - + \ No newline at end of file diff --git a/examples/showcase/src/main/resources/webservice/applicationContext-rest-server.xml b/examples/showcase/src/main/resources/webservice/applicationContext-jaxrs-server.xml similarity index 78% rename from examples/showcase/src/main/resources/webservice/applicationContext-rest-server.xml rename to examples/showcase/src/main/resources/webservice/applicationContext-jaxrs-server.xml index 61d3640c3981d57290dc605c10ca85eaa4a52e1e..dc7096df9ae969f5747f3f36dc54f9f3626065b7 100644 --- a/examples/showcase/src/main/resources/webservice/applicationContext-rest-server.xml +++ b/examples/showcase/src/main/resources/webservice/applicationContext-jaxrs-server.xml @@ -7,9 +7,9 @@ Apache CXF的Restful Web Service配置 - + - + @@ -17,5 +17,5 @@ - + diff --git a/examples/showcase/src/main/webapp/WEB-INF/views/story/webservice.jsp b/examples/showcase/src/main/webapp/WEB-INF/views/story/webservice.jsp index 89a48cde9bb04fad5fade491c3220b2bfd5fb465..8b8009a573b61de61b55f8b9b18b6cd8a3f5c250 100644 --- a/examples/showcase/src/main/webapp/WEB-INF/views/story/webservice.jsp +++ b/examples/showcase/src/main/webapp/WEB-INF/views/story/webservice.jsp @@ -14,31 +14,32 @@

Web Service 演示

-

传统SOAP Web Service演示

+

1. 传统SOAP Web Service演示

    -
  • 服务端是基于CXF的JAX-WS演示. 详见由CXF自动生成的wsdl文件.
  • +
  • 服务端是基于CXF的JAX-WS演示, 见CXF自动生成的wsdl文件列表.
  • 客户端见Functional Test用例.
-

Restful Service高级演示

+

2. 基于JAX-RS实现的Restful演示

+ + +

3. SpringMVC Restful Service高级演示

服务端: 客户端:
  • RestTemplate设置HttpHeaders的写法,用原始的exchange()方法及用ClientHttpRequestInterceptor两种方法
  • -
  • RestTemplate默认使用JDK HttpConnection,设置使用Apache HttpClient4作为Http Connection底层
  • +
  • RestTemplate底层使用用默认的JDK HttpConnection,和Apache HttpClient4
  • RestTemplate设置超时控制
  • 客户端同样见Functional Test用例UserRestFt.java
-

基于JAX-RS实现的Restful演示

- \ No newline at end of file diff --git a/examples/showcase/src/test/functional/org/springside/examples/showcase/functional/rest/UserJaxRsFT.java b/examples/showcase/src/test/functional/org/springside/examples/showcase/functional/rest/UserJaxRsFT.java new file mode 100644 index 0000000000000000000000000000000000000000..befafa51c2abb4b5708b6f03be663b4800d04268 --- /dev/null +++ b/examples/showcase/src/test/functional/org/springside/examples/showcase/functional/rest/UserJaxRsFT.java @@ -0,0 +1,37 @@ +package org.springside.examples.showcase.functional.rest; + +import static org.junit.Assert.*; + +import org.junit.BeforeClass; +import org.junit.Test; +import org.springframework.web.client.RestTemplate; +import org.springside.examples.showcase.functional.BaseFunctionalTestCase; +import org.springside.examples.showcase.webservice.rest.UserDTO; + +/** + * 对基于JAX-RS的实现Restful的测试 + * + * @author calvin + */ +public class UserJaxRsFT extends BaseFunctionalTestCase { + + private final RestTemplate restTemplate = new RestTemplate(); + + private static String resoureUrl; + + @BeforeClass + public static void initUrl() { + resoureUrl = baseUrl + "/cxf/jaxrs/user"; + } + + @Test + public void getUser() { + UserDTO user = restTemplate.getForObject(resoureUrl + "/{id}.json", UserDTO.class, 1L); + assertEquals("admin", user.getLoginName()); + assertEquals(new Long(1), user.getTeamId()); + + user = restTemplate.getForObject(resoureUrl + "/{id}.xml", UserDTO.class, 1L); + assertEquals("admin", user.getLoginName()); + assertEquals(new Long(1), user.getTeamId()); + } +}