对于采用 CXF 框架与 Spring 集成来开发 Rest 风格的接口服务网上也有大量的文章可以参考, 在这里只做一个简单的重要过程和步骤的记录.
1. 建立一个 web Project 工程项目, 同时引入 CXF 框架 Library, 同时还引入 jsr311-api-1.1.1.jar 包, 版本可以自己选择一个版本即可. 假设我们建立 TestRest 名称的 Web 项目.
2. 在引入完成后, 我们建立一个简单的接口类和接口实现, 实际上着部分的开发和传统 Java 接口和接口实现开发完成相同, 只是将我们传统实现的 Java API 接口通过增加注解后发布为一个 Rest WebService 接口. 比如一个简单的注册接口类, 首先要在类上面增加注解, 定义具体的 Path 路径, 其次要在方法上增加注解, 说明该方法发布为 Rest 接口后的一些关键信息, 包括参数解析, 编码, 消息格式等.
对于接口实现类上面增加路径注解: @Path(value = "/")
对于方法实现上参考如下:
- @POST // 指定请求方式
- @Path("/regedit/{username}/{password}") // 指定路径和参数映射
- @Produces(MediaType.APPLICATION_JSON) // 指定数据格式
- public String regedit(@PathParam("username") String username, @PathParam("password") String password) throws IOException {
- return username + "Register Success";
- }
3. 可以看到整体实现基本和传统 Java 开发一样. 在接口类和接口实现类增加好后, 最重要的工作还是和 Spring 集成的两个配置文件的编写. 一个是 applicationContext-server.xml 文件, 一个是 web.config 文件.
在 applicationContext-server.xml 文件中实现 Java API 接口发布为 Rest 接口时候的具体映射.
而对于 web.config 服务和传统 CXF 框架发布 SOAP WS 服务内容基本一样.
我们在 web.xml 中配置了 / services/*
那么我们的地址为: http://localhost:8080/TestRest/services/ .
其次我们在 spring 配置文件中配置了 , 所以我们的地址应该为 http://localhost:8080/TestRest/services/regedit/.
这样我们的基本服务地址就确定了. 在访问 http://localhost:8080/TestRest/services / 地址的时候我们可以查看到具体的 Rest 接口服务的发布地址, 比如 http://localhost:8080/TestRest/services/regedit?WADL. 这个时候我们可以直接采用 SoapUI 工具对这个地址进行脚本录制, 然后进行接口服务的测试.
另外尝试了下通过 FireFox 浏览器的 RestClient 插件进行接口测试, 虽然后面也增加了 Http Header 的相关属性, 但是仍然没有测试成功, 估计是对于 Request 输入的结构有问题导致.
来源: http://www.tuicool.com/articles/YVNrEzu