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; } }

效果如下:

 

 

posted @ 2019-06-03 17:31  yangxiaohui227  阅读(205)  评论(0编辑  收藏  举报