003

Mr_zzl / 2023-07-26 / 原文

1. mapper.xml文件技巧之-mapper文件完成主键回填

2. springboot项目技巧之-使用分页pageHelpper步骤

3. 格式化数据返回前端工具类
@Data
public class R<T> {

    public static final Integer SUCCESS = 200;
    public static final Integer FAIL = -1;

    private Integer code;
    private String msg;
    private T data;

    private R(Integer code, String msg, T data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }

    public static <T> R<T> ok(Integer code, String msg, T data) {
        return new R<>(code, msg, data);
    }

    public static <T> R<T> ok(T data) {
        return ok(SUCCESS, "请求成功", data);
    }

    public static <T> R<T> ok() {
        return ok(null);
    }

    public static <T> R<T> fail(Integer code, String msg, T data) {
        return new R<>(code, msg, data);
    }

    public static <T> R<T> fail(T data) {
        return fail(FAIL, "请求失败", data);
    }

    public static <T> R<T> fail() {
        return fail(null);
    }

}

4. @DeleteMapping路径传参(类似还有GetMapping)
// PathVariable 路径传参
    @DeleteMapping("{id}")//一般情况下;前会加路径如:delete/{id}
    
    public R deleteById(@PathVariable Integer id) {//也可以:@PathVariable("前端传的参数的Key")
        return dailyService.deleteById(id);
    }

5.
controller层参数默认值如何设置(分页查询部分代码为例)(代码中required = false表示不传参也行;defaultValue = "1"不传参默认为1)
public R<PageInfo<Daily>> findByPage
    (@RequestParam(value = "page", required = false, defaultValue = "1") Integer page,
     @RequestParam(value = "size", required = false, defaultValue = "10") Integer size) {
        return dailyService.findByPage(page, size);
    }

6. SpringBoot整合Swagger/knife4j

knife4j: 在线接口文档(自动生成接口文档)和接口测试工具,
knife4j 是swagger工具的增强版本(knife4j底层是swagger)

添加依赖
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <version>3.0.3</version>
</dependency>
修改配置文件
spring:
mvc:
 pathmatch:
   # Springfox使用的路径匹配是基于AntPathMatcher的
   # 所以需要配置此参数
   matching-strategy: ant_path_matcher
Swagger的配置类

在浏览器中访问: http://localhost:8080/doc.html

7. springboot配置视图解析器

8. 接口文档中大致包含信息(前后端约定的信息)

image-20230726094907431

9. spring技巧之-黄色波浪线,不识别为单词不建议将每次项目出现的黄色下划线单词都加进词典;有时候多打错一个字母导致的错误随处可见(黄色波浪线有时会提示你);使用规范命名是最佳选择

10. Swagger/knife4j使用技巧:如何调试接口

11. Swagger/knife4j使用技巧:如何修改接口名称

12. Swagger/knife4j使用技巧:接口文档如何修改参数说明

13. Swagger报警告:Unable to interpret the implicit parameter configuration with dataType不影响运行

参考:https://blog.csdn.net/qq_45193304/article/details/112426507

原因:

这是因为Swagger中的注解@ApiImplicitParam有一个属性为dataTypeClass,该属性的默认值为Void.class,因为没有指定dataTypeClass属性的值,所以报该警告信息。

解决: