/**

* ApiImplicitParam 与 ApiParam 的区别

* ApiImplicitParam: This is the only way to define parameters when using Servlets or other non-JAX-RS environments.

*

* 对Servlets或者非 JAX-RS的环境,只能使用 ApiImplicitParam。

* 在使用上,ApiImplicitParam比ApiParam具有更少的代码侵入性,只要写在方法上就可以了,但是需要提供具体的属性才能配合swagger ui解析使用。

* ApiParam只需要较少的属性,与swagger ui配合更好。

* 传递复杂对象 By ModelAttribute

* (1) ModelAttribute 是Spring mvc的注解,这里Swagger可以解析这个注解,获得User的属性描述--good

* 原文链接:http://www.jianshu.com/p/b730b969b6a2

* (2)传递复杂对象 By RequestBody

* json格式传递对象使用RequestBody注解

* (3) PathVariable是Spring 的注解,对于这种简单的参数,就可以不用写ApiParam来描述接口参数。

*

*

* Every Docket bean is picked up by the swagger-mvc framework - allowing for multiple

* swagger groups i.e. same code base multiple swagger resource listings.

* http://springfox.github.io/springfox/docs/current

*/

@Bean

public Docket createRestApi() {

return new Docket(DocumentationType.SWAGGER_2)//Docket, Springfox’s, primary api configuration mechanism is initialized for swagger specification 2.0

.groupName("springboot-jwt-jpa")//分组,在html页面展示时有用。启用group选项会更改api json的访问路径。可以在/swagger-resources中location字段中找到

.select()//select() returns an instance of ApiSelectorBuilder to give fine grained control over the endpoints exposed via swagger.

.apis(RequestHandlerSelectors.basePackage("com.web"))

.paths(PathSelectors.any())// .paths(Predicates.or(PathSelectors.regex("/api/.*")))//过滤的接口,此片过滤掉/api/打头的接口

.build()//The selector requires to be built after configuring the api and path selectors. Out of the box we provide predicates for regex, ant, any, none

.globalOperationParameters(

newArrayList(new ParameterBuilder()

.name("Authorization")

.description("token")

.modelRef(new ModelRef("string"))

/**

* paramType(参数放在哪个地方):

header-->请求参数的获取:@RequestHeader

query-->请求参数的获取:@RequestParam

path(用于restful接口)-->请求参数的获取:@PathVariable

body(不常用)

form(不常用)

*/

.parameterType("header")

.build()))

// .ignoredParameterTypes(Student.class)//swagger-ui.html中如果有返回值是Student时,就会显示 Response Class (Status 200) OK Student is not defined!

.genericModelSubstitutes(DeferredResult.class)//异步http请求

.forCodeGeneration(true)//By default, types with generics will be labeled with '\u00ab'(<>), and commas. This can be problematic with things like swagger-codegen. You can override this behavior by implementing your own GenericTypeNamingStrategy.

.pathMapping("/")// 在这里可以设置请求的统一前缀;默认请求都是以 / 根路径开始,如果我们的应用不是部署在根路径,比如以/platform(应用名)部署,则可以通过一下方式设置请求的统一前缀。

.apiInfo(apiInfo())

.useDefaultResponseMessages(false)//使用默认的响应信息true:默认响应信息将会回到全局的响应信息中;false:不加到全局的响应信息中

;

}

springfox源码_Java类springfox.documentation.builders.ParameterBuilder的实例源码 - 编程字典...相关推荐

  1. java如何统计系统浏览人数_java网站如何统计访问量和在线人数实例源码

    java网站如何统计访问量和在线人数实例源码.简言之,如果不用第三方提供的接口 那最好的解决方案应该是当SESSION建立时sessionCreated(),在访问总数和当前在线人数上+1 当SESS ...

  2. 小马源码_Java互联网架构-重新认识Java8-HashMap-不一样的源码解读

    欢迎关注头条号:java小马哥 周一至周日早九点半!下午三点半!精品技术文章准时送上!!! 精品学习资料获取通道,参见文末 看源码前我们必须先知道一下ConcurrentHashMap的基本结构.Co ...

  3. java微博系统源码_JAVA仿微博系统(JAVA毕业设计含源码和运行教程)

    前言 课设毕设源码收集已上传到github,包括:C,C#,C++,JAVA,PHP 等源码,更多源码在整理中.地址:https://github.com/52JDK/Source-Collectio ...

  4. java在线学习系统源码_java学习成长之路(基础,源码,项目,实战)

    获取一下学习资源请关注微信公众号:Java编程指南 我为自学编程的或初学java的小伙伴们准备了一整套完整的学习资源和文章,还有我自己在自学路上的一些总结和学习线路,希望能帮到小伙伴们,如果有什么疑问 ...

  5. java 网游加速器源码_Java/C++算法与数据结构系列视频教程【源码+课件打包】

    课程目录 第一章:当我们在讨论算法的时候,我们在讨论什么? 1-1 我们究竟为什么要学习算法 1-2 课程介绍 第二章:排序基础 2-1 选择排序法 2-2 使用模板(泛型)编写算法 2-3 随机生成 ...

  6. JVM中篇:字节码与类的加载篇之02-字节码指令集

    文章目录 1. 概述 2. 加载与存储指令 2.1. 局部变量压栈指令 局部变量压栈常用指令集 局部变量压栈指令剖析 2.2. 常量入栈指令 常量入栈常用指令集 常量入栈指令剖析 2.3. 出栈装入局 ...

  7. Spring源码工具类ClassUtils之isAssignable

    Spring源码工具类ClassUtils之isAssignable 文章目录 Spring源码工具类ClassUtils之isAssignable 一.isAssignable 二.代码示例 一.i ...

  8. java int类源码,一起学JDK源码 -- Integer类

    Integer类为java基本类型int的包装类,除了前面提到的Byte类,Short类中的大部分方法,Integer类中还提供了很多处理int类型的方法,接下来就让我们一起看看吧. 基础知识: 1. ...

  9. java线程实例题_java线程相关试题实例源码代码

    java线程相关试题实例源码代码. /** * 计算输出其他线程锁计算的数据 */ class ThreadA { public static void main(String[] args) { T ...

最新文章

  1. iphone android 开发指南 http://mobile.tutsplus.com
  2. 转dem_约会大作战:真那离开DEM社,欠着的500万就不用还了
  3. android中怎么保存checkbox中的checked属性_Vue 精粹:v-model指令在组件中怎么玩
  4. Ocelot简易教程(六)之重写配置文件存储方式并优化响应数据
  5. uiuc计算机课程,UIUC计算机科学专业解读
  6. Hive优化(再一遍系统复习)
  7. LeetCode283——Move Zeroes(将0移动到数组最后面)
  8. LeetCode 158. 用 Read4 读取 N 个字符 II
  9. LeetCode #43字符串相乘
  10. CPU特性标志及含义
  11. Java基础——String类(二)
  12. 浙江3 2计算机学校,浙江有那些3+2学校
  13. numpy教程:numpy基本数据类型及多维数组元素存取
  14. java自动化开发_五大Java自动化测试框架
  15. 数学建模—一元回归分析
  16. 教你用Python分析投资收益
  17. 项目实训(十三)安装pun,pun的基础使用和概念
  18. ios13.5.1降级_升级iOS 14尝鲜后 无法降级iOS13.5.1?
  19. Oracle Spatial 空间分析之缓冲区分析
  20. 附上解决迅雷9及迅雷极速版任何资源下载任务出错、内容违规问题

热门文章

  1. 3D打印与大数据会碰撞出什么样的火花?
  2. GetMapping
  3. mysql 80070057_远程主机关闭了连接。错误代码是 0x80070057,与远程主机通信时发生错误。错误代码是 0x80070057...
  4. webpack实践之路(七):模块热替换HMR
  5. Java语言基础(环境搭建、语法、变量、类型转换、运算符、控制语句、数组)
  6. 《魔兽》电影的2000+特效,分布式存储能做啥?
  7. resnet50能用cpu跑吗_resnet50的PyTorch实现
  8. mysql将sql转为关系代数_MySQL实现关系代数运算
  9. 4 轮面试稳坐 “直通车” 顺利拿下腾讯 Offer!内附真题+简历包装,可上岸!
  10. 关于在线CAD编辑的解决方案思考