Springboot 集成 Swagger

1添加pom

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

2编写配置类

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
  public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                //swagger要扫描的包路径
  .apis(RequestHandlerSelectors.basePackage("com.learn.springboot.controller"))
                .paths(PathSelectors.any())
                .build();
  }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("springboot Swagger 测试")
                .description("Springboot 整合Swagger2")
                .termsOfServiceUrl("localhost:8080/")
                .contact(new Contact("Swagger测试","liflag.cn","229670104@qq.com"))
                .version("1.0")
                .build();
  }
}

3 添加注解

@Api(value = "测试接口")
@Controller
public class HelloController {

    @Autowired
  UserMapper userMapper;

  @ApiOperation(value = "测试借口", notes = "访问hello")
    @ApiImplicitParam(name = "id", value = "用户id", required=true, dataType = "String")
    @RequestMapping("/hello")
    @ResponseBody
  public String hello(String id) {
        User user = userMapper.selectByPrimaryKey(Integer.valueOf(id));
  System.out.println(user.getName());
 return "helloWorld "+ user.getName();
  }

}

4 访问接口文档 db364e63a67b449196626183c292aee6-image.png

swagger说明

105b3131d12c4865b303b0592ae97282-image.png

常用注解

  • @Api()用于类; 表示标识这个类是swagger的资源
  • @ApiOperation()用于方法; 表示一个http请求的操作
  • @ApiParam()用于方法,参数,字段说明; 表示对参数的添加元数据(说明或是否必填等)
  • @ApiModel()用于类 表示对类进行说明,用于参数用实体类接收
  • @ApiModelProperty()用于方法,字段 表示对model属性的说明或者数据操作更改
  • @ApiIgnore()用于类,方法,方法参数 表示这个方法或者类被忽略
  • @ApiImplicitParam() 用于方法 表示单独的请求参数
  • @ApiImplicitParams() 用于方法,包含多个 @ApiImplicitParam

例子https://www.cnblogs.com/mao2080/p/9021714.html


已有 0 条评论

    我有话说: