跳至主要內容

2日


2日

POM引用了模块改名前的Jar包

起因

项目一直扫描不到 Repository ,无论怎么重启都没用

在项目依赖的Jar包中,发现一个之前改过名字的Jar包(不知道为什么,这个Jar包会在 External Libraries 中)

并且发现有一个POM引用它了

**解决:**改一下POM就好了

SaToken排除拦截失效

如果设置了 context-path ,在拦截的url处不需要加上 context-path 的前缀

getDeclaredMethod无法获取父类方法

getMethodgetDeclaredMethod 两者都是用于获取类中的方法,但它们之间存在一些重要的区别,适用于不同的使用场景。

  1. getMethod
    • 用于获取公共方法(public),包括从父类继承而来的公共方法。
    • 如果您需要获取类中的公共方法,包括继承自父类的方法,可以使用 getMethod
  2. getDeclaredMethod
    • 用于获取在当前类中声明的所有方法,包括公共、保护、默认(包)访问和私有方法。
    • 不会获取继承的方法,只返回当前类中直接定义的方法。
    • 如果您只想获取当前类中声明的方法,而不包括继承的方法,可以使用 getDeclaredMethod

总之,getMethod 用于获取包括继承方法在内的公共方法,而 getDeclaredMethod 则用于获取当前类中声明的方法,不包括继承的方法。您可以根据具体的需求选择合适的方法

分组参数校验

  • 先定义分组
image-20240402112951640
image-20240402112951640
public interface AddGroup {
}
  • 在dto上标注条件
@NotNull(message = "id不能为空", groups = {AddGroup.class, EditGroup.class})
private String id;//
  • 在controller上标注分组类型
@ApiOperation(value = "创建Project", notes = "")
@PostMapping(value = "createProject")
public Result createProject(@Validated(AddGroup.class) @RequestBody ProjectDto dto) {
    projectManagementService.createProject(dto);
    return Result.success();
}

Hutool在使用aggregate提取ID时存在Bug

使用 Fastjson 不存在该问题

MongoDB嵌套数组中的唯一索引

并不支持!

当设置了 kittens.id 为唯一索引时

db.Cats.ensureIndex({'id': 1, 'kittens.id': 1}, {unique:true})

这种情况是允许的:

db.cats.insert( { id: 123, kittens: [ { id: 456 } ] } )
db.cats.insert( { id: 123, kittens: [ { id: 456 } ] } )

这种情况是不允许的:

db.cats.insert( { id: 123, kittens: [ { id: 456 }, { id: 456 } ] } )

只能在业务逻辑上用 !mongoTemplate.exists 判断一下是否有已存在的元素

上次编辑于:
你认为这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
评论
  • 按正序
  • 按倒序
  • 按热度