io.springfox springfox-boot-starter 3.0.0
@EnableOpenApi
@Configuration
public class SwaggerConfig {/*** 返回 restful api* @return*/@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.OAS_30).apiInfo(apiInfo()).select()/** apis 用于告诉 Swagger 扫描带有 @Api 注解的类*/.apis(RequestHandlerSelectors.withClassAnnotation(Api.class)).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("Spring Boot 趣味实战课").description("Spring Boot 趣味实战课的 RESTFul 接口文档说明").version("1.0").build();}
}
@RestController
@RequestMapping("/rest")
@Api(tags = "RestFul 接口")
public class RestFulController {@GetMapping("/swagger")@ApiOperation(value = "Swagger 接口")public String swagger() {return "Swagger Method";}
}
@Data
public class User {@ApiModelProperty("用户ID")private int id;@ApiModelProperty("名字")@NotBlank(message = "名字不能为空")private String name;@ApiModelProperty("年龄")@Min( value = 1,message = "年龄要不能小于 1")@Max( value = 120,message = "年龄要不能大于 120")private int age;@ApiModelProperty("邮箱")@Email(message = "Email格式不正确")private String email;@ApiModelProperty("生日")@Past(message = "生日必须为过去的时间")private LocalDate birthDay;
}
要使用 knife4j 也非常简单,只需要将依赖替换成如下内容即可:
com.github.xiaoymin knife4j-spring-boot-starter 3.0.3
使用 knife4j 时,记得删除之前的 Swagger 依赖,因为 knife4j 依赖已经包含了 Swagger 依赖。