Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
后端镜像
java镜像
Springside4
提交
85d9d513
S
Springside4
项目概览
后端镜像
/
java镜像
/
Springside4
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
Springside4
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
85d9d513
编写于
9月 14, 2012
作者:
C
Calvin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
将JAX-RS演示放入showcase中, 重构命名规则
上级
7cea5d38
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
53 addition
and
15 deletion
+53
-15
examples/showcase/src/main/java/org/springside/examples/showcase/webservice/jaxrs/AccountJaxRsService.java
...amples/showcase/webservice/jaxrs/AccountJaxRsService.java
+1
-1
examples/showcase/src/main/resources/applicationContext-showcases.xml
...wcase/src/main/resources/applicationContext-showcases.xml
+1
-1
examples/showcase/src/main/resources/webservice/applicationContext-jaxrs-server.xml
.../resources/webservice/applicationContext-jaxrs-server.xml
+3
-3
examples/showcase/src/main/webapp/WEB-INF/views/story/webservice.jsp
...owcase/src/main/webapp/WEB-INF/views/story/webservice.jsp
+11
-10
examples/showcase/src/test/functional/org/springside/examples/showcase/functional/rest/UserJaxRsFT.java
...ngside/examples/showcase/functional/rest/UserJaxRsFT.java
+37
-0
未找到文件。
examples/showcase/src/main/java/org/springside/examples/showcase/webservice/jaxrs/Account
Rest
Service.java
→
examples/showcase/src/main/java/org/springside/examples/showcase/webservice/jaxrs/Account
JaxRs
Service.java
浏览文件 @
85d9d513
...
...
@@ -13,7 +13,7 @@ import org.springside.examples.showcase.webservice.rest.UserDTO;
import
org.springside.modules.mapper.BeanMapper
;
@Path
(
"/user"
)
public
class
Account
Rest
Service
{
public
class
Account
JaxRs
Service
{
@Autowired
private
AccountEffectiveService
accountService
;
...
...
examples/showcase/src/main/resources/applicationContext-showcases.xml
浏览文件 @
85d9d513
...
...
@@ -16,5 +16,5 @@
<import
resource=
"schedule/applicationContext-quartz-timer-cluster.xml"
/>
<import
resource=
"security/applicationContext-shiro.xml"
/>
<import
resource=
"webservice/applicationContext-soap-server.xml"
/>
<import
resource=
"webservice/applicationContext-
rest
-server.xml"
/>
<import
resource=
"webservice/applicationContext-
jaxrs
-server.xml"
/>
</beans>
\ No newline at end of file
examples/showcase/src/main/resources/webservice/applicationContext-
rest
-server.xml
→
examples/showcase/src/main/resources/webservice/applicationContext-
jaxrs
-server.xml
浏览文件 @
85d9d513
...
...
@@ -7,9 +7,9 @@
<description>
Apache CXF的Restful Web Service配置
</description>
<!-- jax-rs endpoint定义 -->
<jaxrs:server
id=
"serviceContainer"
address=
"/
rest
"
>
<jaxrs:server
id=
"serviceContainer"
address=
"/
jaxrs
"
>
<jaxrs:serviceBeans>
<ref
bean=
"account
Rest
Service"
/>
<ref
bean=
"account
JaxRs
Service"
/>
</jaxrs:serviceBeans>
<jaxrs:providers>
<bean
class=
"com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider"
/>
...
...
@@ -17,5 +17,5 @@
</jaxrs:server>
<!-- WebService的实现Bean定义 -->
<bean
id=
"account
RestService"
class=
"org.springside.examples.showcase.webservice.jaxrs.AccountRest
Service"
/>
<bean
id=
"account
JaxRsService"
class=
"org.springside.examples.showcase.webservice.jaxrs.AccountJaxRs
Service"
/>
</beans>
examples/showcase/src/main/webapp/WEB-INF/views/story/webservice.jsp
浏览文件 @
85d9d513
...
...
@@ -14,31 +14,32 @@
<body>
<h1>
Web Service 演示
</h1>
<h2>
传统SOAP Web Service演示
</h2>
<h2>
1.
传统SOAP Web Service演示
</h2>
<ul>
<li>
服务端是基于CXF的JAX-WS演示
. 详见由CXF自动生成的
<a
href=
"${ctx}/cxf/soap/accountservice?wsdl"
>
wsdl文件
</a>
.
</li>
<li>
服务端是基于CXF的JAX-WS演示
, 见CXF自动生成的
<a
href=
"${ctx}/cxf/"
>
wsdl文件列表
</a>
.
</li>
<li>
客户端见Functional Test用例.
</li>
</ul>
<h2>
Restful Service高级演示
</h2>
<h2>
2. 基于JAX-RS实现的Restful演示
</h2>
<ul>
<li>
服务端是基于CXF的JAX-WS演示, CXF自动生成的
<a
href=
"${ctx}/cxf/"
>
wadl文件列表
</a></li>
<li>
演示地址:
<a
href=
"${ctx}/cxf/rest/user/1.xml"
>
/cxf/rest/user/1.xml
</a>
与
<a
href=
"${ctx}/cxf/rest/user/1.xml"
>
/cxf/rest/user/1.json
</a></li>
</ul>
<h2>
3. SpringMVC Restful Service高级演示
</h2>
服务端:
<ul>
<li>
集成Shiro进行HttpBasic的认证
</li>
<li>
XML与JSON两种格式的序列化
</li>
<li>
演示地址:
<a
href=
"${ctx}/api/v1/user/1.xml"
>
/api/v1/user/1.xml
</a>
与
<a
href=
"${ctx}/api/v1/user/1.xml"
>
/api/v1/user/1.json
</a></li>
<li>
用浏览器访问时需要认证admin/admin
</li>
<li>
演示地址:
<a
href=
"${ctx}/api/v1/user/1.xml"
>
/api/v1/user/1.xml
</a>
与
<a
href=
"${ctx}/api/v1/user/1.xml"
>
/api/v1/user/1.json
</a>
(用浏览器访问时需要认证admin/admin)
</li>
</ul>
客户端:
<ul>
<li>
RestTemplate设置HttpHeaders的写法,用原始的exchange()方法及用ClientHttpRequestInterceptor两种方法
</li>
<li>
RestTemplate
默认使用JDK HttpConnection,设置使用Apache HttpClient4作为Http Connection底层
</li>
<li>
RestTemplate
底层使用用默认的JDK HttpConnection,和Apache HttpClient4
</li>
<li>
RestTemplate设置超时控制
</li>
<li>
客户端同样见Functional Test用例UserRestFt.java
</li>
</ul>
<h2>
基于JAX-RS实现的Restful演示
</h2>
<ul>
<li>
演示地址:
<a
href=
"${ctx}/cxf/rest/user/1.xml"
>
/cxf/rest/user/1.xml
</a>
与
<a
href=
"${ctx}/cxf/rest/user/1.xml"
>
/cxf/rest/user/1.json
</a></li>
</ul>
</body>
</html>
\ No newline at end of file
examples/showcase/src/test/functional/org/springside/examples/showcase/functional/rest/UserJaxRsFT.java
0 → 100644
浏览文件 @
85d9d513
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
());
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录