php电商网站开发,韩国庆祝出线,广州市专业做商城网站,百度网页版下载安装文章目录 一、引入依赖二、使用1. OpenAPIDefinition Info2. Tag3. Operation4. Parameter5. Schema6. ApiResponse swagger2更新到3后#xff0c;再使用方法上发生了很大的变化#xff0c;名称也变为OpenAPI3。
官方文档
一、引入依赖 dependencygroupId… 文章目录 一、引入依赖二、使用1. OpenAPIDefinition Info2. Tag3. Operation4. Parameter5. Schema6. ApiResponse swagger2更新到3后再使用方法上发生了很大的变化名称也变为OpenAPI3。
官方文档
一、引入依赖 dependencygroupIdorg.springdoc/groupIdartifactIdspringdoc-openapi-starter-webmvc-ui/artifactIdversion${springdoc-openapi.version}/version/dependencyserver:servlet:context-path: /content
springdoc:api-docs:enabled: truepath: /v3/api-docsswagger-ui:enabled: truepath: /swagger-ui.htmlopenapi3使用十分方便做到这里后你可以直接通过以下网址访问swagger页面。
http://ip:port/content/swagger-ui/index.html二、使用
1. OpenAPIDefinition Info
用于定义整个 API 的信息通常放在主应用类上。可以包括 API 的标题、描述、版本等信息。
SpringBootApplication
Slf4j
OpenAPIDefinition(info Info(title 内容管理系统, description 对课程相关信息进行管理, version 1.0.0))
public class ContentApplication {public static void main(String[] args) {SpringApplication.run(ContentApplication.class, args);}
}2. Tag
用于对 API 进行分组。可以在控制器类或方法级别上使用。
Tag(name 课程信息编辑接口)
RestController(content)
public class CourseBaseInfoController {
}
3. Operation
描述单个 API 操作即一个请求映射方法。可以提供操作的摘要、描述、标签等。 Operation(summary 课程查询接口)PostMapping(/course/list)public PageResultCourseBase list(PageParams params,RequestBody(required false) QueryCourseParamsDto dto){CourseBase courseBase new CourseBase();courseBase.setCreateDate(LocalDateTime.now());return new PageResultCourseBase(new ArrayListCourseBase(List.of(courseBase)),20, 2, 10);}4. Parameter
用于描述方法参数的额外信息例如参数的描述、是否必需等。 Operation(summary 课程查询接口)PostMapping(/course/list)public PageResultCourseBase list(Parameter(description 分页参数) PageParams params,Parameter(description 请求具体内容) RequestBody(required false) QueryCourseParamsDto dto){CourseBase courseBase new CourseBase();courseBase.setCreateDate(LocalDateTime.now());return new PageResultCourseBase(new ArrayListCourseBase(List.of(courseBase)),20, 2, 10);}5. Schema
描述模型的结构。可以用于类级别标注在模型类上或字段级别。
Data
AllArgsConstructor
NoArgsConstructor
public class PageParams {//当前页码Schema(description 页码)private Long pageNo 1L;//每页记录数默认值Schema(description 每页条目数量)private Long pageSize 10L;
} 6. ApiResponse
描述 API 响应的预期结果。可以指定状态码、描述以及返回类型。
ApiResponse(responseCode 200, description Successfully retrieved user)
public User getUserById(PathVariable Long id) {
}