接上一篇
http://borissun.iteye.com/blog/765869
上篇说了怎么用cxf发布restful webservice,由于浏览器只能对该service发送http的GET请求,所以如果想对服务器上的数据,还需要实现客户端。
客户端的实现方式有无数种。。。可以是.net,c++,还有很多java框架甚至socket。这里用cxf给的一个WebClient类来实现:
package com.client;
import org.apache.cxf.jaxrs.client.WebClient;
import com.DAO.Room;
public class Client {
static WebClient client;
public static void main(String[] args) {
client = WebClient.create("http://localhost:9999/");
put();
}
static void get() {
Room room = client.path("roomservice/room/001")
.accept("application/xml").get(Room.class);
System.out.println("get the room which id is:" + room.getId());
}
static void post() {
Room room = new Room();
room.setId("003");
client.path("roomservice/room").accept("application/xml")
.post(room, Room.class);
}
static void delete() {
client.path("roomservice/room/002").accept("application/xml").delete();
}
static void put() {
Room room = new Room();
room.setId("006");
client.path("roomservice/room/003").accept("application/xml").put(room);
}
}
这个类用起来很简单,给WebClient的静态方法create一个参数,该参数是服务器地址的字符串。
client.path("roomservice/room/001")
.accept("application/xml").get(Room.class);
这句代码,是告诉client要访问的restful资源,以及格式,最后的get,也就是对这个资源发送一个http GET请求,参数Room.class是告诉client要以什么方式接受服务器发送来的response。(服务器端和客户端的格式应该一致,所以这里用的和服务器端用的是一个POJO,如果客户端不是用CXF,那么应该定义一个scheme,这样才能让双方明白来回发送的XML应该怎么处理,暂时也没深入,回头再研究。)
DELETE方法很好理解,就是把你指定的资源删除掉,所以delete()不用带参数。
POST,PUT方法有点不同,
post(Object body, Class<Room> )
put(Object body, Class<Room> )
第一参数是你要传给服务器的POJO,第二个参数是告诉client要将server返回的response转化为的POJO的类型。第二个参数可以不写,如果不写,收到的将是一个response。
调用这些操作后,可以通过http://localhost:9999/roomservice/room/ 查看结果。
分享到:
相关推荐
CXF发布restful WebService的入门例子.pdfCXF发布restful WebService的入门例子.pdf
NULL 博文链接:https://zfms.iteye.com/blog/1526829
用CXF开发RESTful风格WebService.doc
spring,cxf,restful发布webservice传递复杂对象,例如List,Map,List<Map>
spring整合cxf实现restful的webservice服务,代码分为服务端和客户端两个模块;服务端为接口,客户端为接口调用。
SpringBoot+Mybatis+CXF框架,实现Restful api与 WebService api接口的大实验
cxf_restful_webservice基于myeclipse 10 和tomcat 7开发
使用cxf、spring构建的rest风格webservice,其他相关技术springmvc、mybatis、druid等。代码中使用的数据库为sybase,请根据实际环境更改,需修改pom中引用的数据库驱动,依照entity类的属性建对应表,并修改config....
使用cxf创建restful风格的web service
采用spring 结合cxf 发布一个RestFul接口。 http请求,soap均可调用。
cxf集成Spring的restful WebServ ice接口,Demo的完整代码!
CXF搭建的RESTful风格的webservice
cxf集成Spring的restful WebService接口以Json形式表现的完整代码,适合新入门在学WebService的小伙伴们参考,希望对你们有帮助!
主要包括cxf开发webservice的配置,使用maven 构建项目。
使用了cxf 同时实现了 RESTful WebService --项目启动后访问地址 http://localhost:8080/springMVC/services/rest/equipQuery/getUserById/1?_type=json 本人没有一一列明 xml json 以及post get请求 大家可以在...
附件是一个使用CXF 实现 RESTful Webservice 完整 CRUD 实例,使用 HashMap 来模拟数据库,可以直接运行,具体使用可以参考其中的 readme;仅供有兴趣的初学者参考。