swagger详细使用
程序员文章站
2022-06-28 18:48:43
swagger详细使用Swagger简介1、配置pom文件2、编写SwaggerConfig配置类3、Controller注解3、效果演示Swagger简介Swagger是一个接口文档生成工具,同时提供接口测试调用的辅助功能。1、配置pom文件io.springfox springfox-swagger2 ...
swagger详细使用
Swagger简介
Swagger是一个接口文档生成工具,同时提供接口测试调用的辅助功能。
1、配置pom文件
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
</dependency>
2、编写SwaggerConfig配置类
package com.sunrise.utils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger.web.UiConfiguration;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket buildDocket() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(buildApiInf()) // .apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage(""))// 需要生成文档的包的位置
.paths(PathSelectors.any())
.build();
}
private ApiInfo buildApiInf() {
return new ApiInfoBuilder()
.title("接口详情")
.description("Zuul+Swagger2构建RESTful APIs")
.version("1.0")
.build();
}
}
3、Controller注解
package com.sunrise.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@Api(tags = "登录验证")
@RestController
@RequestMapping("/user")
public class Swagger {
@RequestMapping("/login")
@ApiOperation(value = "登录", notes = "name:123 password:123")
public String table(String name,String password){
if(name.equals("123") && password.equals("123") ) {
return "验证通过";
} else {
return "验证失败";
}
}
}
Swagger相关注释
* @Api: 修饰整个类,描述Controller的作用
* @ApiOperation: 描述一个类的一个方法,或者说一个接口
* @ApiParam: 单个参数描述
* @ApiModel: 用对象来接收参数
* @ApiProperty: 用对象接收参数时,描述对象的一个字段
* @ApiResponse: HTTP响应其中1个描述
* @ApiResponses: HTTP响应整体描述
* @ApiIgnore: 使用该注解忽略这个API
* @ApiError : 发生错误返回的信息
* @ApiImplicitParam: 一个请求参数
* @ApiImplicitParams: 多个请求参数
3、效果演示
访问地址: http://localhost:8080/swagger-ui.html.
因为我使用的是@RequestMapping("/user")注释会把所以的请求都显示出来
本文地址:https://blog.csdn.net/weixin_45938430/article/details/107343041