博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cxf-rs 和 swagger 的点
阅读量:5042 次
发布时间:2019-06-12

本文共 2628 字,大约阅读时间需要 8 分钟。

1. 从web.xml 说起

CXFServlet
org.apache.cxf.transport.servlet.CXFServlet
1
CXFServlet
/*

如果这样配置,所有的请求都走CXF(意思是作为一种资源进行请求) ,就无法访问 swagger UI ,所以不能配置成/* 

应该如下配置:

JAX-RS Simple Service
JAX-RS Simple Service
contextConfigLocation
WEB-INF/beans.xml
org.springframework.web.context.ContextLoaderListener
org.springframework.web.context.request.RequestContextListener
CXFServlet
org.apache.cxf.transport.servlet.CXFServlet
1
CXFServlet
/api/*

这样做{协议}{host}{port}{项目}{资源}

补充welcome files:

The welcome files mechanism allows you to specify a list of files that the web container will use for appending to a request for a URL (called a valid partial request) that is not mapped to a web component.

例如:访问 http://localhost:8080/cxf-rs/

则会自动访问webapp 下的 index.XXX

2. swagger UI

You can use the swagger-ui code AS-IS! (原样)

把`dist` folder 下的文件copy 到 webapp下 

或者(如果觉得乱)copy到webapp下的指定文件夹下 例如:webapp/swagger

maven 的 webapp 最终生成war包后,不存在webapp ,项目目录即是webapp 

一般来看如下:

出于安全考虑,非静态资源应该放在WEB-INF 里面。

如果想要实现以上效果,需要:

①配置welcome file 并将`dist` 中 index.html 的资源相对路径(src or href)修改为 swagger/..........

②配置welcome list

swagger/index.html

然后访问 http://localhost:8080/cxf-rs/

又出现了 swagger ui  页面

如果想要修改为 index.jsp 需要执行以下操作:

①新建一个jsp文件

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%>
Swagger UI JSP

②将welcome list 修改为 swagger/index.jsp

3. web service 与 web project

被CXF 拦截的 url 是作为RESTful 资源访问,一般返回JSON

非CXF拦截的url是访问webapp 资源,页面跳转

这两种访问必须分清楚。

4.swagger 配置

spring 方式

 重要属性:

resourcePackage :JAX-RS 的资源包

host:访问文档地址

basePath :所有的资源url pattern 再追加,例如:某个java类中的资源@Path("/user") ,则这个资源最终是 api/user

其他属性:

title:这组api标题

contact:联系方式

前置:

第一个是接收url请求( swagger.json / swagger.yaml ) 

第二个是将 swagger object 打印输出 ,交由swagger ui 展示

转载于:https://www.cnblogs.com/zno2/p/5553319.html

你可能感兴趣的文章
c# aop讲解
查看>>
iterable与iterator
查看>>
返回顶部(动画)
查看>>
webpack+react+antd 单页面应用实例
查看>>
Confluence 6 SQL Server 数据库驱动修改
查看>>
Confluence 6 通过 SSL 或 HTTPS 运行 - 备注和问题解决
查看>>
【47.76%】【Round #380B】Spotlights
查看>>
Git(使用码云)
查看>>
分享Java web 开发必游之路
查看>>
IIS初始化(预加载),解决第一次访问慢,程序池被回收问题(转载)
查看>>
Bean的Scope
查看>>
【BZOJ】3142: [Hnoi2013]数列
查看>>
http初探
查看>>
elasticsearch的安装
查看>>
__next__()
查看>>
爬取:中国大学排名
查看>>
聊天室(C++客户端+Pyhton服务器)_1.框架搭设
查看>>
UpdatePanel 内控件 更新“外的”控件【转】
查看>>
mybatis中&gt;=和&lt;=的实现方式
查看>>
Python面向对象03/继承
查看>>