Java SpringBoot 集成 knife4j-2.0.7 资料

Java SpringBoot 集成 knife4j-2.0.7 资料



一、文档
  1. 官方文档
  2. OpenAPI 规范 (中文版)(没啥用)
  3. Knife4j注解说明
  4. 项目案例-1
  5. 项目案例-2
二、个人实战
  • 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 {
            
        }
        
    }
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值