Swagger2

pom.xml:

		
        
            io.springfox
            springfox-swagger2
            2.6.1
        
        
            io.springfox
            springfox-swagger-ui
            2.6.1
        

Swagger2类:

		package com.example.shopgoods.common.config;
        import org.springframework.context.annotation.Bean;
        import org.springframework.context.annotation.Configuration;
        import org.springframework.context.annotation.Profile;
        import springfox.documentation.builders.ApiInfoBuilder;
        import springfox.documentation.builders.PathSelectors;
        import springfox.documentation.builders.RequestHandlerSelectors;
        import springfox.documentation.service.ApiInfo;
        import springfox.documentation.spi.DocumentationType;
        import springfox.documentation.spring.web.plugins.Docket;
        import springfox.documentation.swagger2.annotations.EnableSwagger2;

        /**
        * @Author: zp
        * @Date: 2019/4/19 13:43
        * @Description:
        */

        /**
        * Swagger2配置类
        * 在与spring boot集成时,放在与Application.java同级的目录下。
        * 通过@Configuration注解,让Spring来加载该类配置。
        * 再通过@EnableSwagger2注解来启用Swagger2。
        */

        @Configuration
        @EnableSwagger2
        @Profile({"dev"})

        public class Swagger2 {
        /**
        * 创建API应用
        * apiInfo() 增加API相关信息
        * 通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现,
        * 本例采用指定扫描的包路径来定义指定要建立API的目录。
        *
        * @return
        */
        @Bean
        public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo())
        .select()
        .apis(RequestHandlerSelectors.basePackage("com.example.controller"))
        .paths(PathSelectors.any())
        .build();
        }


        /**
        * 创建该API的基本信息(这些基本信息会展现在文档页面中)
        * 访问地址:http://项目实际地址/swagger-ui.html
        * @return
        */
        private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
        .title("Spring Boot集成Swagger2构建RESTful APIs")
        .description("更多请关注")
        .termsOfServiceUrl("https://blog.csdn.net/sanyaoxu_2/article/details/80555328")
        .version("2.6.1")
        .build();
        }
        
        }

Controller层代码列如:

    /**
     * 下单校验接口
     * @param checkOrderRequestDTO
     * @return
     */
    @ApiOperation(value = "下单校验接口")
    @PostMapping("/check")
    @ApiImplicitParam(name = "checkOrderRequestDTO", value = "下单时商品信息", dataType = "CheckOrderRequestDTO")
    public Result checkOrder(@RequestBody CheckOrderRequestDTO checkOrderRequestDTO) {
        return Boolean.TRUE;
    }

入参和出参的注释:

		package com.ecshop.common.dto;

        import io.swagger.annotations.ApiModel;
        import io.swagger.annotations.ApiModelProperty;
        import lombok.Data;

        import javax.validation.constraints.NotNull;

        /**
        * @Author: zp
        * @Date: 2019/4/17 18:06
        * @Description:
        */
        @Data
        @ApiModel(value = "CheckOrderRequestDTO", description = "下单时商品信息")
        public class CheckOrderRequestDTO {
        //商品id
        @NotNull(message = "商品id不能为null")
        @ApiModelProperty(value = "商品id")
        private Integer goodsId;

        //商品属性id
        @NotNull(message = "商品属性id不能为null")
        @ApiModelProperty(value = "商品属性id")
        private  Integer goodsAttrId;

        //下单时购买的商品数量
        @NotNull(message = "商品数量不能为null")
        @ApiModelProperty(value = "商品数量")
        private Integer goodsNumber;

        }

相关文献:

Swagger使用指南
Swagger与RestFul 集成 以及 注解使用Demo
微服务之Swagger
关于Swagger @ApiModel 返回内容注释不显示问题

你可能感兴趣的:(spring,boot2)