//此处省略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; } }
效果如下: