没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
2018/1/25
Web Service 那点事儿(4)—— 使用 CXF 开发 REST 服务 - ImportNew
http://www.importnew.com/24848.html 1/22
分
享
到
:
4
首
页
所
有
文
章
资
讯
Web
架构
基
础
技
术
书
籍
教
程
Java
小
组
工
具
资
源
Web Service
那
点
事
儿
(
4
)
——
使
用
CXF
开
发
REST
服
务
2017/05/30 |
分
类
:
基
础
技
术
| 0
条
评论
|
标
签
:
CXF, REST, Web Service
原
文
出
处
:
黄
勇
现
在
您
已
经
学
会了
如
何使
用
CXF
开
发
基
于
SOAP
的
Web
服
务
,
也
领
略
了
Spring + CXF
这
个
强
大
的
组
合
,
如
果
您
错
过
了
这
精
彩
的
一
幕
,
请
回
头
看看
这
篇
吧
:
Web Service
那
点
事
儿
(
2
)
——
使
用
CXF
开
发
SOAP
服
务
今
天
我
们
将
视角
集
中
在
REST
上,
它
是
继
SOAP
以
后
,
另
一
种
广
泛
使
用
的
Web
服
务
。
与
SOAP
不
同
,
REST
并
没
有
WSDL
的
概
念
,
也
没
有
叫
做
“
信
封
”
的
东
西
,
因
为
REST
主
张
用
一
种简
单
粗
暴
的
方
式
来
表
达
数据
,
传
递
的
数据
格
式
可
以
是
JSON
格
式
,
也
可
以
是
XML
格
式
,
这
完
全
由
您
来
决
定
。
REST
全
称
是
Representational State Transfer
(
表
述
性
状
态
转
移
),
它
是
Roy Fielding
博
士
在
2000
年
写
的
一
篇
关
于
软
件
架构
风
格
的
论
文
,
此
文
一
出
,
威
震
四
方
!
许
多
知
名
互
联
网
公
司
开
始
采
用
这
种
轻
量
级
Web
服
务
,
大
家
习
惯
将
其
称
为
RESTful Web Services
,
或
简称
REST
服
务
。
那
么
REST
到
底
是
什么
呢
?
2018/1/25
Web Service 那点事儿(4)—— 使用 CXF 开发 REST 服务 - ImportNew
http://www.importnew.com/24848.html 2/22
REST
本
质
上
是
使
用
URL
来
访
问
资
源
的
一
种
方
式
。
总
所
周
知
,
URL
就
是
我
们
平常
使
用
的
请
求
地址
了
,
其
中
包
括
两
部
分
:
请
求
方
式
与
请
求
路
径
,
比
较
常
见
的
请
求
方
式
是
GET
与
POST
,
但
在
REST
中
又
提
出
了
几
种
其
它
类
型
的
请
求
方
式
,
汇
总
起
来有
六
种
:
GET
、
POST
、
PUT
、
DELETE
、
HEAD
、
OPTIONS
。
尤
其
是
前
四
种
,
正
好
与
CRUD
(
增
删
改
查
)
四
种
操
作
相
对
应
:
GET
(
查
)
、
POST
(
增
)
、
PUT
(
改
)
、
DELETE
(
删
),
这
正
是
REST
的
奥妙
所
在
!
实
际
上,
REST
是
一个
“
无
状
态
”
的
架构
模
式
,
因
为
在
任何
时
候
都
可
以
由
客
户
端
发
出
请
求
到
服
务
端
,
最
终
返
回
自
己
想
要
的
数据
。
也
就
是
说
,
服
务
端
将
内
部
资
源
发
布
REST
服
务
,
客
户
端
通过
URL
来
访
问
这
些
资
源
,
这
不
就
是
SOA
所
提
倡
的
“
面
向
服
务
”
的
思
想
吗
?
所
以
,
REST
也
被
人们
看
做
是
一
种
轻
量
级
的
SOA
实
现
技
术
,
因
此
在
企
业
级
应
用
与
互
联
网
应
用
中
都
得
到
了
广
泛
使
用
。
在
Java
的
世
界
里
,
有
一个
名
为
JAX-RS
的
规
范
,
它就
是
用
来
实
现
REST
服
务
的
,
目
前
已
经
发
展
到
了
2.0
版
本
,
也
就
是
JSR-339
规
范
,
如
果
您想
深
入
研
究
REST
,
请
深
入
阅
读
此
规
范
。
JAX-RS
规
范
目
前
有
以
下
几
种
比
较
流
行
的
实
现
技
术
:
Jersey
:
https://jersey.java.net/
Restlet
:
http://restlet.com/
RESTEasy
:
http://resteasy.jboss.org/
CXF
:
http://cxf.apache.org/
本
文
以
CXF
为例
,
我
努力
用
最
精
炼
的
文
字
,
让
您
快
速
学
会
如
何使
用
CXF
开
发
REST
服
务
,
此
外
还
会
将
Spring
与
CXF
做
一个
整
合
,
让
开
发
更
加
高
效
!
那
么
还
等
什么
呢
?
咱
们
一
起
出
发吧
!
1.
使
用
CXF
发
布
与
调
用
REST
服
务
第
一
步
:
添
加
Maven
依
赖
1
2
3
4
5
6
7
8
9
10
<!lang:xml>
<?xmlversion="1.0"encoding="UTF8"?>
<projectxmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
2018/1/25
Web Service 那点事儿(4)—— 使用 CXF 开发 REST 服务 - ImportNew
http://www.importnew.com/24848.html 3/22
以
上
添
加
了
CXF
关
于
REST
的
依
赖
包
,
并
使
用
了
Jackson
来
实
现
JSON
数据
的
转
换
。
第
二
步
:
定
义
一个
REST
服
务
接
口
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<groupId>demo.ws</groupId>
<artifactId>rest_cxf</artifactId>
<version>1.0SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF8</project.build.sourceEncoding>
<cxf.version>3.0.0</cxf.version>
<jackson.version>2.4.1</jackson.version>
</properties>
<dependencies>
<!CXF>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxfrtfrontendjaxrs</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxfrttransportshttpjetty</artifactId>
<version>${cxf.version}</version>
</dependency>
<!Jackson>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jacksonjaxrsjsonprovider</artifactId>
<version>${jackson.version}</version>
</dependency>
</dependencies>
</project>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!lang:java>
packagedemo.ws.rest_cxf;
importjava.util.List;
importjava.util.Map;
importjavax.ws.rs.Consumes;
importjavax.ws.rs.DELETE;
importjavax.ws.rs.FormParam;
importjavax.ws.rs.GET;
importjavax.ws.rs.POST;
importjavax.ws.rs.PUT;
importjavax.ws.rs.Path;
importjavax.ws.rs.PathParam;
importjavax.ws.rs.Produces;
importjavax.ws.rs.core.MediaType;
2018/1/25
Web Service 那点事儿(4)—— 使用 CXF 开发 REST 服务 - ImportNew
http://www.importnew.com/24848.html 4/22
以
上
ProductService
接
口
中
提
供了
一
系
列
的
方
法
,
在
每
个
方
法
上
都
使
用
了
JAX-RS
提
供
的
注
解
,
主
要
包
括
以
下三
类
:
1.
请
求
方
式
注
解
,
包
括
:
@GET
、
@POST
、
@PUT
、
@DELETE
2.
请
求
路
径
注
解
,
包
括
:
@Path
,
其
中
包
括
一个
路
径
参
数
3.
数据
格
式
注
解
,
包
括
:
@Consumes
(
输
入
)
、
@Produces
(
输
出
),
可
使
用
MediaType
常
量
4.
相
关
参
数
注
解
,
包
括
:
@PathParam
(
路
径
参
数
)
、
@FormParam
(
表
单参
数
),
此
外
还
有
@QueryParam
(
请
求
参
数
)
针
对
updateProductById
方
法
,
简
单
解
释
一下:
该
方
法
将
被
PUT:/product/{id}
请
求
来
调
用
,
请
求
路
径
中
的
id
参
数
将
映
射
到
long id
参
数
上,
请
求
体中
的
数据
将
自
动
转
换
为
JSON
格
式并
映
射
到
Map<String, Object>
fi
eldMap
参
数
上,
返
回
的
Product
类
型
的
数据
将
自
动
转
换
为
JSON
格
式并
返
回
到
客
户
端
。
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
publicinterfaceProductService{
@GET
@Path("/products")
@Produces(MediaType.APPLICATION_JSON)
List<Product>retrieveAllProducts();
@GET
@Path("/product/{id}")
@Produces(MediaType.APPLICATION_JSON)
ProductretrieveProductById(@PathParam("id")longid);
@POST
@Path("/products")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
List<Product>retrieveProductsByName(@FormParam("name")Stringname);
@POST
@Path("/product")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
ProductcreateProduct(Productproduct);
@PUT
@Path("/product/{id}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
ProductupdateProductById(@PathParam("id")longid,Map<String,Object>fieldMap);
@DELETE
@Path("/product/{id}")
@Produces(MediaType.APPLICATION_JSON)
ProductdeleteProductById(@PathParam("id")longid);
}
剩余21页未读,继续阅读
我就是月下
- 粉丝: 25
- 资源: 336
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0