Java SpringBoot 集成 knife4j-2.0.7 资料
一、文档
二、个人实战
-
pom.xml
<dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>2.0.7</version> </dependency>
-
config
@Configuration @EnableSwagger2WebMvc public class Knife4jConfig { @Bean(value = "defaultApi2") public Docket defaultApi2() { Docket docket = new Docket(DocumentationType.SWAGGER_2) .apiInfo(new ApiInfoBuilder() //.title("swagger-bootstrap-ui-demo RESTful APIs") .description("# swagger-bootstrap-ui-demo RESTful APIs") // .termsOfServiceUrl("http://www.xx.com/") .contact("duzhenyang@xxx.cn") .version("1.0") .build()) //分组名称 .groupName("Web With LLM") .select() //这里指定Controller扫描包路径 .apis(RequestHandlerSelectors.basePackage("cn.xxx.xxxx.controller")) .paths(PathSelectors.any()) .build(); return docket; } }
-
bean
@Data @ApiModel(description = "文件") @EqualsAndHashCode(callSuper = false) @AllArgsConstructor @NoArgsConstructor @Accessors(chain = true) @TableName("case_file") public class CaseFile implements Serializable { @TableField(exist = false) private static final long serialVersionUID = 1L; @TableId(value = "cf_id", type = IdType.ASSIGN_ID) @ApiModelProperty(value = "主键id") private Long cf_id; @JSONField(name = "上传文件原始名称") @ApiModelProperty(value = "上传文件原始名称") private String cf_origin_file_name; @JSONField(name = "上传文件格式化后的名称") @ApiModelProperty(value = "上传文件格式化后的名称") private String cf_encode_file_name; @JSONField(name = "上传文件的地址") @ApiModelProperty(value = "上传文件的地址") private String cf_url; /** * 乐观锁 */ @Version private Integer version; /** * 逻辑删除 */ @TableLogic private Integer deleted; /** * 创建时间 */ @TableField(fill = FieldFill.INSERT) private Date gmt_create; /** * 修改时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) private Date gmt_modified; }
-
controller
@Api(tags = "MinIO文件上传模块") @RestController @CrossOrigin @RequestMapping("/minio") public class MinioController { private final MinIOUtil minIOUtil; private final CaseFileService caseFileService; public MinioController(MinIOUtil minIOUtil, CaseFileService caseFileService) { this.minIOUtil = minIOUtil; this.caseFileService = caseFileService; } @PostMapping("/upload") @ApiOperation(value = "上传文件") @ApiImplicitParams({ @ApiImplicitParam(name = "file", value = "上传的文件", required = true) }) public R<UploadFileResultVo> upload(@RequestParam("file") MultipartFile multipartFile) throws Exception { } }