1. The CXF Swagger2Feature allows you to generate Swagger 2.0 documents from JAX-RS service endpoints with a simple configuration.
    见:http://cxf.apache.org/docs/swagger2feature.html
  2.  
  3. JAX-RS Swagger2Feature Demo
  4. =================
  5.  
  6. The demo shows a basic usage of Swagger 2.0 API documentation with REST based Web Services using
  7. JAX-RS 2.0 (JSR-339). Swagger UI is available at: http://localhost:9000/
  8.  
  9. Building and running the demo using Maven
  10. ---------------------------------------
  11.  
  12. From the base directory of this sample (i.e., where this README file is
  13. located), the Maven pom.xml file can be used to build and run the demo.
  14.  
  15. Using either UNIX or Windows:
  16.  
  17. mvn install
  18. mvn -Pserver (from one command line window)
  19.  
  20. After the service is started, the Swagger API documents in JSON and YAML
  21. are available at
  22.  
  23. http://localhost:9000/swagger.json
  24. http://localhost:9000/swagger.yaml
  25.  
  26. To view the Swagger document using Swagger-UI, use your Browser to
  27. open the Swagger-UI page at
  28.  
  29. http://localhost:9000/api-docs?url=/swagger.json
  30.  
  31. or
  32.  
  33. http://localhost:9000/api-docs?url=/swagger.yaml
  34.  
  35. or access it from the CXF Services page:
  36.  
  37. http://localhost:9000/services
  38. and follow a Swagger link.

例子在:https://github.com/apache/cxf/blob/master/distribution/src/main/release/samples/jax_rs/description_swagger2/src/main/java/demo/jaxrs/swagger/server/Sample.java

示意代码:

  1. import io.swagger.annotations.Api;
  2. import io.swagger.annotations.ApiImplicitParam;
  3. import io.swagger.annotations.ApiImplicitParams;
  4. import io.swagger.annotations.ApiOperation;
  5. import io.swagger.annotations.ApiParam;
  6.  
  7. @Path("/sample")
  8. @Api(value = "/sample", description = "Sample JAX-RS service with Swagger documentation")
  9. public class Sample {
  10. private Map<String, Item> items;
  11.  
  12. public Sample() {
  13. items = Collections.synchronizedMap(new TreeMap<String, Item>(String.CASE_INSENSITIVE_ORDER));
  14. items.put("Item 1", new Item("Item 1", "Value 1"));
  15. items.put("Item 2", new Item("Item 2", "Value 2"));
  16. }
  17.  
  18. @Produces({ MediaType.APPLICATION_JSON })
  19. @GET
  20. @ApiOperation(
  21. value = "Get operation with Response and @Default value",
  22. notes = "Get operation with Response and @Default value",
  23. response = Item.class,
  24. responseContainer = "List"
  25. )
  26. public Response getItems(
  27. @ApiParam(value = "Page to fetch", required = true) @QueryParam("page") @DefaultValue("1") int page) {
  28.  
  29. return Response.ok(items.values()).build();
  30. }
  31. }

swagger 在apache CXF 中的使用——JAX-RS Swagger2Feature的更多相关文章

  1. Spring 4 集成Apache CXF开发JAX-RS Web Service

    什么是JAX-RS 在JSR-311规范中定义,即Java API for RESTful Web Services,一套Java API,用于开发 RESTful风格的Webservice. 工程概 ...

  2. Apache CXF实现WebService入门教程(附完整源码)

    Apache CXF实现WebService非常简单实用,只需要几步就可以实现一个简单的web service. 首先我们需要新建一个maven项目,在pom中添加依赖和jetty作为测试的web s ...

  3. Apache CXF Webservice入门

    1.步骤一览 关于CXF的介绍请移步官网.百科,这里仅供初次使用者入门. 2.步骤详情 2.1.环境准备 apache-cxf-3.0.0.zip下载 jdk1.7.0_51 Eclipse4.3.0 ...

  4. 在cxf中使用配置避免增加字段导致客户端必须更新、同步实体属性的问题

    在使用cxf实现webservice时,经常碰到的问题就是如果在服务端,修改了一个接口的签名实现,如增加一个字段,或者删除一个字段.在这种情况下,在默认的配置中,就会报以下的错误信息: org.apa ...

  5. Apache CXF自定义拦截器

    为什么设计拦截器?1.为了在webservice请求过程中,能动态操作请求和响应数据,CXF设计了拦截器 拦截器分类: 1.按所处的位置分:服务器端拦截器,客户端拦截器. 2.按消息的方向分:入拦截器 ...

  6. apache CXF wsdl2java工具的使用

    cxf的wsdl2java命令和JDK的wsimport命令的区别和使用 JDK提供了一个wsimport.exe的命令,主要是用于将WebService生成客户端代码,然后好调用WebService ...

  7. 解决Apache CXF 不支持传递java.sql.Timestamp和java.util.HashMap类型问题

    在项目中使用Apache开源的Services Framework CXF来发布WebService,CXF能够很简洁与Spring Framework 集成在一起,在发布WebService的过程中 ...

  8. Apache CXF 103 CXF Basics - partial

    本Spike记录中内容,如无特别指出,均引用[1]. 0 引言 0.1 基本的Web服务术语 XML 业界的结构化交换信息表示的事实上的标准. XML namespace是在XML文档中提供唯一的命名 ...

  9. Apache CXF 102 CXF with REST

    前言 续上篇Apache CXF 101,摘抄部分REST概念性知识,以运行实例考察CXF对REST的支持. 目录 1 REST简介 2 工具 3 运行实例 内容 本Spike记录中内容,如无特别指出 ...

随机推荐

  1. ABAP权限检查,TCode与权限对象进行关联

    一.确认权限对象,和关联字段: Tcode:SU21 维护权限对象例如"M_MSEG_WMB",它关联字段为'WERKS'M_MSEG_WMB 物料凭证:工厂 二.在ABAP代码中 ...

  2. 【WEB HTTP】缓存

    1. HTTP并不支持兄弟缓存,所以人们通过一些协议对HTTP进行了扩展,比如因特网缓存协议(Internet Cache Protocol, ICP)和超文本缓存协议(HyperText Cachi ...

  3. javascript高级语法三

    一.js的正则表达式 1.什么是正则表达式 正则表达式(regular expression)是一个描述字符模式的对象,ECMAScript的RegExp类表示正则表达式,而String和RegExp ...

  4. Redis集群环境搭建

    Redis集群cluster环境搭建 描述:本章节主要单服务器搭建集群,在一个服务器上启动多个不同端口的redis服务,非真实环境. 真实环境下redis集群会搭建在多个物理服务器上,并非单一的服务器 ...

  5. Django-虚拟环境设置

    Django 虚拟环境virtualenv virtualenv是用来处理多个用python语言进行开发的项目,在同一台机器上部署,不同项目依赖不同第三方库版本所造成的问题. 打个比方,现在你机器上要 ...

  6. awk遇到windows 的^M

    windows在编辑的文档,在linux中显示会在行尾出现一个^M window下编辑的文档:末尾带^M$ linux下编辑的文档:末尾带$ awk中如果存在^M,则会限制print的输出列数(只能输 ...

  7. debian内核代码执行流程(二)

    继续上一篇文章<debian内核代码执行流程(一)>未完成部分. acpi_bus_init调用acpi_initialize_objects,经过一系列复杂调用后输出下面信息: [ IN ...

  8. WKWebview的基本使用

    在开发过程中,iOS 中实现加载 web 页面主要有两种控件,UIWebView 和 WKWebview,两种控件对应具体的实现方法不同.WKWebView是苹果公司在iOS8系统推出的,这里主要概述 ...

  9. Swift_初识Swift

    初识Swift语言 Swift结合了C和OC的优点并且不受C兼容性的限制.Swift采用安全的编程模式并添加了很多新特性,这将是编程更简单,更灵活也更有趣,Swift是基于成熟而且倍受喜爱的Cocoa ...

  10. Tomcat8内置jdk8运行环境发布web项目

    简单说明:之前部署项目都是没有改变之前的环境变量,最近由于公司的数据源换了,jdk由1.7改成了1.8,tomcat7也改为了1.8,现在需要部署采用新数据源的这个项目, 为了不改变之前的环境变量,使 ...