• Swagger使用


    OpenAPI规范(OpenAPI Specification 简称OAS)是Linux基金会的一个项目,试图通过定义一种用来描述API格 式或API定义的语言,来规范RESTful服务开发过程,目前版本是V3.0,并且已经发布并开源在github上。 (https://github.com/OAI/OpenAPI-Specification) Swagger是全球最大的OpenAPI规范(OAS)API开发工具框架,支持从设计和文档到测试和部署的整个API生命周 期的开发。 (https://swagger.io/) Spring Boot 可以集成Swagger,生成Swagger接口,Spring Boot是Java领域的神器,它是Spring项目下快速构建 项目的框架。

    ● 导入Swagger依赖

                <dependency>
                    <groupId>io.springfox</groupId>
                    <artifactId>springfox-swagger2</artifactId>
                    <version>2.7.0</version>
                </dependency>
                <dependency>
                    <groupId>io.springfox</groupId>
                    <artifactId>springfox-swagger-ui</artifactId>
                    <version>2.7.0</version>
                </dependency>     

    ● 定义Swagger配置类。@EnableSwagger2是开启Swagger的注解

    @Configuration
    @EnableSwagger2
    public class Swagger2Configuration { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select()
    //扫描com.xuecheng下所有带@RestController的类 .apis(RequestHandlerSelectors.basePackage(
    "com.xuecheng")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("学成网api文档") .description("学成网api文档") // .termsOfServiceUrl("/") .version("1.0") .build(); } }

    ● 定义接口使用Swagger提供的注解

    @Api(value="cms页面管理接口",description = "cms页面管理接口,提供页面的增、删、改、查")
    public interface CmsPageControllerApi {
        @ApiOperation("分页查询页面列表")
        @ApiImplicitParams({
                @ApiImplicitParam(name="page",value = "页码",required=true,paramType="path",dataType="int"),
                @ApiImplicitParam(name="size",value = "每页记录数",required=true,paramType="path",dataType="int")
        })
                public QueryResponseResult findList(int page, int size, QueryPageRequest queryPageRequest);
    }

    ● Controller实现接口

    public class CmsPageController implements CmsPageControllerApi

    ● 模型类使用使用Swagger提供的注解

    @Data
    public class QueryPageRequest extends RequestData {
        @ApiModelProperty("站点id")
        private String siteId;
        @ApiModelProperty("页面ID")
        private String pageId;
        @ApiModelProperty("页面名称")
        private String pageName;
        @ApiModelProperty("别名")
        private String pageAliase;
        @ApiModelProperty("模版id")
        private String templateId;
    }

    ● 测试Swaggger。访问根路径下的swagger-ui.html

    注意:

    1.在用到swagger的工程中一定不能有继承WebMvcConfigurationSupport的拦截器,否则会404。可以改实现WebMvcConfigurer

    2.启动类必须放在com.viuman根目录下,否则swagger访问不了,会一直弹窗

  • 相关阅读:
    Android零碎知识(一)
    Android零碎知识
    归属地查询(联网+本地)
    XML文件生成——借助JDOM
    XML文件生成
    Win32汇编语言语法基础
    Nmap 常用命令语法
    Flask 框架基础知识笔记
    Web前端开发JQuery框架
    Web前端开发JavaScript提高
  • 原文地址:https://www.cnblogs.com/naixin007/p/10464532.html
Copyright © 2020-2023  润新知