精选文章 Swagger的使用及注解说明

Swagger的使用及注解说明

作者:aibaiya 时间: 2021-02-05 09:43:15
aibaiya 2021-02-05 09:43:15
【摘要】一、使用方法 
在pom.xml中加入Swagger2的依赖 
  io.springfox springfox-swagger2 2.7.0

 io.springfox springfox-swagger-ui 2.7.0
 
创建Swagger2配置类 
在Application.java同级创建Swagger2的配置类Swagger2。 
 @Configuration
@Enabl...

一、使用方法

pom.xml中加入Swagger2的依赖

 io.springfox springfox-swagger2 2.7.0

 io.springfox springfox-swagger-ui 2.7.0

创建Swagger2配置类

Application.java同级创建Swagger2的配置类Swagger2

@Configuration
@EnableSwagger2
public class Swagger2 { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("需要查看的包名或类名")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Spring Boot中使用Swagger2构建RESTful APIs") .description("更多Spring Boot相关文章请关注:http://blog.didispace.com/") .termsOfServiceUrl("http://blog.didispace.com/") .contact("程序猿DD") .version("1.0") .build(); }

}

通过@Configuration注解,让Spring来加载该类配置。再通过@EnableSwagger2注解来启用Swagger2。

再通过createRestApi函数创建Docket的Bean之后,apiInfo()用来创建该Api的基本信息(这些基本信息会展现在文档页面中)。select()函数返回一个ApiSelectorBuilder实例用来控制哪些接口暴露给Swagger来展现,本例采用指定扫描的包路径来定义,Swagger会扫描该包下所有Controller定义的API,并产生文档内容(除了被@ApiIgnore指定的请求)。

@Api(value = "user",  tags = "用户模块")
@RestController
@RequestMapping("user")
public class UserController extends BaseController { @Resource private UserService userService; @ApiOperation(value = "用户添加") @ApiImplicitParams({ @ApiImplicitParam(name = "user",value = "用户" ,required = true,dataType = "String", paramType="body") }) @RequestMapping(value = "addUser",method = RequestMethod.POST) public ResultBean addUser(User user){ return  resultBean; }
}

完成上述代码添加上,启动Spring Boot程序,访问:http://localhost:${port}/${context-path}/swagger-ui.html

 

二、解决404的问题

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;

@Configuration
public class SwaggerConfiger extends WebMvcConfigurationSupport{ @Override protected void addResourceHandlers(ResourceHandlerRegistry registry){ // 解决静态资源无法访问 registry.addResourceHandler("/**").addResourceLocations("classpath:/static/"); // 解决swagger无法访问 registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/"); // 解决swagger的js文件无法访问 registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); }
}

 

三、注解说明

作用范围API使用位置
对象属性@ApiModelProperty用于出入参数对象的字段上
协议集描述@Api用于Controller类上
协议描述@ApiOperation用在Controller的方法上
Response集@ApiResponses用在controller的方法上
Response@ApiResponse用在 @ApiResponses里边
非对象参数集@ApiImplicitParams用在controller的方法上
非对象参数描述@ApiImplicitParam用在@ApiImplicitParams的方法里边
描述返回对象的意义@ApiModel用在返回对象类上

关于参数的详细解释

属性取值作用
paramType 查询参数类型
 path以地址的形式提交数据
 query直接跟参数完成自动映射赋值
 body以流的形式提交 仅支持POST
 header参数在request headers 里边提交
 form以form表单的形式提交 仅支持POST
dataType 参数的数据类型 只作为标志说明,并没有实际验证
 Long 
 String 
name 接收参数名(必须与方法中参数名一致)
value 接收参数的意义描述(描述信息)
required 参数是否必填
 true必填
 false非必填
defaultValue 默认值
 
勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:(python 3)1034 有理数四则运算 (20分)

下一篇:四连涨!海尔智家这波私有化还有多大想象空间?

您可能感兴趣

  • windows NT事件日志说明

    windows NT事件日志说明原作者:NtWak0翻译整理:补天-苏樱概要以下内容是关于WINDOWS NT事件日志的非常好的、深入的文章。 日志通常用审计机或某种工具来管理。这篇文章也包含:当一个用户被Locked out时,在事件日志里报告的SID有点小问题。详细资料日志类型:这里有三种类型的NT事件日志:系统日志跟踪各种各样的系统事件,比如跟踪系统启动过程中的事件或者硬件和控制器的故...

  • Win32汇编教程三 一个简单的对话框 --- 兼谈资源文件的使用

    --------------------------------------------------------------------------------Windows 的资源文件不管在Dos下编程还是在Windows下编程,我们总是要用到除了可执行文件外的很多其他数据,如声音数据,图形数据,文本等等,在Dos下编程,我们可以自己定义这些文件的格式,但这样一来就造成了很多资源共享的问题...

  • Win32汇编教程六 工具栏和状态栏的使用

    --------------------------------------------------------------------------------有关工具栏和状态栏工具栏和状态栏也是Windows标准界面的组成部分,工具栏一般位于菜单栏的下方,上面是一些系统定义的或自己定义的图片,可以通俗地显示这个按钮的作用。状态栏一般位于窗口的最下方,用来显示程序运行中的一些信息。工具栏和状...

  • 使用Rundll32.exe和Rundll.exe

    福州 Pasic 常用Windows9x的朋友一定对Rundll32.exe和Rundll.exe这两个文件不会陌生吧,不过,由于这两个程序的功能原先只限于在微软内部使用,因而真正知道如何使用它们的朋友想必不多。那么好,如果你还不清楚的话,那么就让我来告诉你吧。  首先,请你做个小实验(请事先保存好你正在运行的程序的结果,否则...

  • 系统钩子的使用

    Win32全局钩子在VC5中的实现  ·贺成士   Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子的种类很多,每种钩子可以截获并处理相应的消息,如键盘钩子可以截获键盘消息,外壳钩子可以截取、启动和关闭应用程序的消息等。...

  • 使用ADO操作SQL SERVER 通过'OLE DB 访问 ACCESS 数据库 ,实现数据交换

    使用的存储过程简介1、sp_addlinkedserver --- 为SQL SERVER 添加一个Link Server2、sp_addlinkedsrvlogin --- 为Link Server 添加一个 Login3、sp_droplinkedsrvlogin --- 删除Link Server的Login4、sp_dropserver  --- 删除Link Server详细请参考...

  • 使用MFC编写internet查询程序

    使用MFC编写internet查询程序 杜经农 在VC++ 5.0中,MFC的WinInet类包装了相关的用于internet 客户机程序编程的win32 API函数。这样,无需了解winsock或TCP/IP的细节就可以编制出internet客户机程序。本文中,我们将探讨如何使用WinInet类来编写一个internet查询程序,该程序起名为“探路者”。该程序能使用各种协议来查询网络,包括...

  • C++ articles:Guru of the Week #3:使用标准库

    作者:Hub Sutter译者:plpliuly /*此文是译者出于自娱翻译的GotW(Guru of the Week)系列文章第3篇,原文的版权是属于Hub Sutter(著名的C++专家,"Exceptional C++"的作者)。此文的翻 译没有征得原作者的同意,只供学习讨论。——译者*/ #3 使用标准库难度:3/10 使用标准库提供的算法比你自己手工写一个要方便的多。仍然以Got...

CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
Swagger的使用及注解说明介绍:华为云为您免费提供Swagger的使用及注解说明在博客、论坛、帮助中心等栏目的相关文章,同时还可以通过 站内搜索 查询更多Swagger的使用及注解说明的相关内容。| 移动地址: Swagger的使用及注解说明 | 写博客