종속성:
<!-- Swagger --> <dependency> <groupId>com.battcn</groupId> <artifactId>swagger-spring-boot-starter</artifactId> <version>2.1.5-RELEASE</version> </dependency>
여기에 있는 Swagger가 공식이 아니라는 점을 눈치채셨을 것입니다. 이것은 제3자에 의해 통합되었으며 구성이 더 간단합니다.
상세 구성:
spring: swagger: enabled: true title: 标题 description: 描述信息 version: 系统版本号 contact: name: 维护者信息 base-package: swagger扫描的基础包,默认:全扫描(分组情况下此处可不配置) #全局参数,比如Token之类的验证信息可以全局话配置 global-operation-parameters: - description: "Token信息,必填项" modelRef: "string" name: "Authorization" parameter-type: "header" required: true groups: basic-group: base-package: com.battcn.controller.basic system-group: base-package: com.battcn.controller.system
내 구성
spring: swagger: title: 星空小屋 - 文章微服务接口 description: 文章微服务相关接口,包括文章、模块、知识点管理等 version: 1.0.0 - SNAPSHOT contact: name: cv大魔王 email: 1919301983@qq.com host: localhost enabled: true security: filter-plugin: true # 配置账号密码 username: root password: root
인터셉터를 구성하고 그 뒤에 인터셉터 구성이 있습니다. 독자가 자신의 프로젝트에서 이를 사용해야 하는 경우 원래 인터셉터에서 수정하세요. 차단 및 액세스 불가를 방지하기 위해 다음 경로를 사용할 수 있습니다. "swagger-ui.html", "static/css/", "static/js/", "swagger-resources", "/**/error", "v2/api-docs"
프로젝트를 실행하고 IP+포트 번호/swagger-ui.html
에 액세스합니다. 예를 들어 브라우저에서 액세스합니다: http://127.0.0.1:13001/swagger-ui.htmlIP+端口号/swagger-ui.html
,例如在浏览器访问:http://127.0.0.1:13001/swagger-ui.html
登录后的效果:
对swagger熟悉的小伙伴的请忽略“常用注解段落”
`@Api`:用在 Controller 类上,描述该类的作用 1. `value`="描述信息" 2. `description`="详细描述该类的作用"
@ApiOperation
:用在 Controller 请求方法上,描述方法的作用。
@ApiModel
:用在请求参数是对象上,描述该对象类的作用
// 在对象类上使用@ApiModel @ApiModel(value="CategoryREQ对象", description="类别查询条件") public class CategoryREQ extends BaseRequest<Category> { }
@ApiModelProperty
:用在请求参数是对象的属性上,描述对象属性的作用。
value
:属性的描述
hidden
:是否是查询条件属性, false:(默认值)在api文档显示,作为查询条件;true 隐藏,不是条件属性
// 请求方法参数是 CategoryREQ 对象 public Result search(@RequestBody CategoryREQ req) {} @ApiModel(value="CategoryREQ对象", description="类别查询条件") public class CategoryREQ extends BaseRequest<Category> { @ApiModelProperty(value = "分类名称") private String name; @ApiModelProperty(value="状态(1:正常,0:禁用)") private Integer status; }
@ApiResponses
:用在请求的方法上,用于表示一组响应
@ApiResponse
:用在 @ApiResponses
中,一般用于表达一个错误的响应信息,注解参数:
code
:数字,如 400message
:信息,如 “参数填写错误”response
:抛出异常的类
@ApiIgnore
: 使用该注解忽略这个 API
@ApiImplicitParams
:用在请求方法上,对多个请求参数增加描述
@ApiImplicitParam
:可单独使用,或在 @ApiImplicitParams 中使用,给方法的一个请求参数增加描述。
name
:参数名
value
:描述参数的作用
dataType
:参数类型,参数类型,默认String,其它值 dataType=“Integer”
defaultValue
:参数默认值
required
:参数是否必传(true/false)
paramTpye
:指定参数放在哪些地方(header/query/path/body/form)
header
:参数在request headers 里边提交 @RequestHeaderquery
:直接跟参数完成自动映射赋值 @RequestParampath
:以路径变量的形式提交数据 @PathVariablebody
:以流的形式提交 仅支持POST(不常用)form
< img src=" https://img.php.cn/upload/article/000/887/227/168432577499115.png" alt="SpringBoot에서 Swagger를 사용하는 방법" />
Swagger에 익숙한 사람들은 "공통 주석 단락"을 무시하십시오. 🎜
// 请求方法有多个请求参数 size, current @ApiImplicitParams({ @ApiImplicitParam(name="current", value="页码", required=true, paramType="path",dataType="int"), @ApiImplicitParam(name="size", value="每页记录数", required=true, paramType="path",dataType="int") }) @ApiOperation("根据分类名称与状态查询分类列表接口") @PostMapping("/search/{current}/{size}") Result search(@RequestBody CategoryREQ req, @PathVariable int current, @PathVariable int size);
@ApiOperation
: 컨트롤러에 사용됨 메소드의 기능을 설명하는 요청 메소드입니다. 🎜🎜@ApiModel
: 요청 매개변수가 객체일 때 사용되며 객체 클래스의 역할을 설명합니다. 🎜rrreee🎜@ApiModelProperty
: 요청 매개변수가 객체의 속성일 때 사용됩니다. , 개체 속성의 역할을 설명합니다. 🎜값
: 속성 설명🎜
숨겨짐
:쿼리 조건 속성인지 여부, false: (기본값)은 API 문서에 쿼리 조건으로 표시됩니다. true는 조건 속성이 아니라 숨겨집니다🎜
@ApiResponses
: 요청 메서드에서 응답 집합을 나타내는 데 사용됩니다🎜
@ApiResponse: <code>@ApiResponses
에서 사용되며 일반적으로 오류 응답 메시지를 표현하는 데 사용됩니다. 주석 매개변수: 🎜
code
: 숫자, 예: 400 메시지
: "매개변수 채우기 오류"와 같은 정보 응답
: 예외를 발생시키는 클래스🎜
@ ApiIgnore
: 이 주석을 사용하여 이 API를 무시합니다🎜🎜@ApiImplicitParams
: 여러 요청 매개변수에 설명을 추가하기 위해 요청 메서드에 사용됩니다🎜🎜@ApiImplicitParam
: 가능 단독으로 사용되거나 @ApiImplicitParams에서 메소드의 요청 매개변수에 설명을 추가하는 데 사용됩니다. 🎜name
: 매개변수 이름🎜
값
: 매개변수의 역할 설명 🎜
dataType
: 매개변수 유형, 매개변수 유형, 기본 문자열, 기타 값 dataType = "Integer" 🎜
defaultValue
: 매개변수의 기본값🎜
필수
: 매개변수를 전달해야 하는지 여부(true/false) 🎜
paramTpye
: 매개변수가 배치되는 위치를 지정합니다(header/query/path/body/form)🎜
header
: 매개변수는 요청 헤더의 @RequestHeader 제출에 있습니다.🎜query
: 매개변수를 사용하여 직접 자동 매핑 및 할당을 완료합니다. @RequestParam🎜path
: 경로 변수 형식 @PathVariable🎜body
: 스트림 형식의 제출은 POST만 지원(일반적으로 사용되지 않음) 🎜form
: 형식 형식의 제출은 POST만 지원( 일반적으로 사용되지 않음) 🎜참조: 🎜rrreee위 내용은 SpringBoot에서 Swagger를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!