• springboot集成swagger文档


    //此处省略springboot创建过程
    
    1.引入swagger相关依赖(2个依赖必须版本相同)
            <dependency>
               <groupId>io.springfox</groupId>
               <artifactId>springfox-swagger2</artifactId>
               <version>2.1.2</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>2.1.2</version>
            </dependency>
    2.写个配置类;该类的位置和启动类平级
    @Configuration
    @EnableSwagger2
    public class Swagger2Configure {
        @Bean
        public Docket createRestApi() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller")) //包名一般用controller层
                    .paths(PathSelectors.any())
                    .build();
        }
        //下面的标题,描述,版本跟上面的包名可以配置在application.yml中,然后使用@Value注解取值
        private ApiInfo apiInfo() {
            return new ApiInfoBuilder()
                    .title("demo")//标题
                    .description("测试") //描述
                    .version("1.0")//版本
                    .build();
        }
    
    
    }
    //编写controller
    @Controller
    @Api(value ="订单",description ="订单相关接口" ) //API注解是用来对类进行描述
    public class ShopOrderController {
    
        private final static Logger logger =  LoggerFactory.getLogger(ShopOrderController.class);
        @Autowired
        private IOrderMastService orderMastService;
    
        @RequestMapping(value = "shop/order/{orderId}",method = RequestMethod.GET)
        @ResponseBody
        @ApiOperation(value ="订单查询",notes ="通过订单号查询对应的订单",httpMethod ="POST")//对该方法进行说明
        public ShopOrderMast findOrderMastByOrderId(@PathVariable("orderId") String orderId){
            return orderMastService.getOrderMastByOrderId(orderId);
        }
    
        @RequestMapping(value = "shop/order/list",method = RequestMethod.POST)
        @ResponseBody
        @ApiOperation(value ="订单列表",notes ="订单列表分页查询",httpMethod ="POST")//对该方法进行说明
        public PageInfo<ShopOrderMast> findOrderMastByOrderId(@RequestBody OrderQueryObject queryObject){
            return orderMastService.selectOrderList(queryObject);
        }
    }
    
    //此时在浏览器打开http://localhost:2300/swagger-ui.html#/ (ip和端口根据自己的项目来定,我搭的项目用的是2300端口)
    swagger相关的api,掌握4个就够用了
    @Api(value ="订单",description ="订单相关接口" ) //API注解是用来对类进行描述
    @ApiOperation(value ="订单查询",notes ="通过订单号查询对应的订单",httpMethod ="POST")//对该方法进行说明
    @ApiIgnore用于不想生生成接口文档的类或者方法上
    注意:即时没有以上4个注解,一样是可以生成swgger文档,只是没有相关的描述而已
    public class OrderQueryObject extends QueryObject { @ApiModelProperty("订单状态")//用于对象的字段进行描述 private int orderStatu; public int getOrderStatu() { return orderStatu; } public void setOrderStatu(int orderStatu) { this.orderStatu = orderStatu; } }

    效果如下:

  • 相关阅读:
    Python open() 函数
    python中的多重循环
    网络爬虫构造出URL的列表数据
    js自定义类和对象及继承
    最全的CSS浏览器兼容问题
    大型网站性能优化(页面(HTML)优化的方法)
    element-ui el-table有设置固定列fixed,高度不对的情况
    伊始
    【Object-C】Object-C 的包装类
    【Object-C】处理对象:description 方法、isEqual方法
  • 原文地址:https://www.cnblogs.com/yangxiaohui227/p/10968930.html
Copyright © 2020-2023  润新知