怎么制作网站平台,如何免费建网站赚钱,seo推广外包,企业名录免费大全OpenAPI规范#xff08;OpenAPI Specification 简称OAS#xff09;是Linux基金会的一个项目#xff0c;试图通过定义一种用来描述API格式或API定义的语言#xff0c;来规范RESTful服务开发过程#xff0c;目前版本是V3.0#xff0c;并且已经发布并开源在github上。#…OpenAPI规范OpenAPI Specification 简称OAS是Linux基金会的一个项目试图通过定义一种用来描述API格式或API定义的语言来规范RESTful服务开发过程目前版本是V3.0并且已经发布并开源在github上。https://github.com/OAI/OpenAPI-SpecificationSwagger是全球最大的OpenAPI规范OASAPI开发工具框架Swagger是一个在线接口文档的生成工具前后端开发人员依据接口文档进行开发。 (https://swagger.io/)Spring Boot 可以集成SwaggerSwaager根据Controller类中的注解生成接口文档 只要添加Swagger的依赖和配置信息即可使用它。1、依赖Java在工程添加swagger-spring-boot-starter依赖
!-- Spring Boot 集成 swagger --
dependencygroupIdcom.spring4all/groupIdartifactIdswagger-spring-boot-starter/artifactId
/dependency2、bootstrap.ymlJava在bootstrap.yml中配置swagger的扫描包路径及其它信息base-package为扫描的包路径扫描Controller类。
swagger:title: 系统在线测试description: 内容系统管理系统对课程相关信息进行管理base-package: com.jinshan.contentenabled: trueversion: 1.0.03.EnableSwagger2Doc注解在启动类中添加EnableSwagger2Doc注解4.类和方法上的注解BashApi(value 课程信息编辑接口,tags 课程信息编辑接口)RestController
public class CourseBaseInfoController {ApiOperation(课程查询接口)PostMapping(/course/list)public PageResultCourseBase list(PageParams pageParams, RequestBody(requiredfalse) QueryCourseParamsDto queryCourseParams){//....}}5.模型类注解Javapublic class PageParams {...ApiModelProperty(当前页码)
private Long pageNo 1L;ApiModelProperty(每页记录数默认值)
private Long pageSize 30L;
...
public class QueryCourseParamsDto {//审核状态
ApiModelProperty(审核状态)private String auditStatus;//课程名称ApiModelProperty(课程名称)private String courseName;}6.Swaager的常用注解Java
Api修饰整个类描述Controller的作用ApiOperation描述一个类的一个方法或者说一个接口ApiParam单个参数描述ApiModel用对象来接收参数ApiModelProperty用对象接收参数时描述对象的一个字段ApiResponseHTTP响应其中1个描述ApiResponsesHTTP响应整体描述ApiIgnore使用该注解忽略这个APIApiError 发生错误返回的信息ApiImplicitParam一个请求参数ApiImplicitParams多个请求参数7.ApiImplicitParam属性使用Swagger可以进行接口的测试。修改接口内容添加一些测试代码Java
ApiOperation(课程查询接口)
PostMapping(/course/list)
public PageResultCourseBase list(PageParams pageParams, RequestBody(requiredfalse) QueryCourseParamsDto queryCourseParams){CourseBase courseBase new CourseBase();courseBase.setName(测试名称);courseBase.setCreateDate(LocalDateTime.now());ListCourseBase courseBases new ArrayList();courseBases.add(courseBase);PageResult pageResult new PageResultCourseBase(courseBases,10,1,10);return pageResult;}观察swagger界面结果可以正常返回