mongodb + springboot。如何进行广泛过滤? -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

mongodb + springboot。如何进行广泛过滤?

小六码奴 2019-10-10 17:21:14 477

我的account.java是这个

import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.Document; import lombok.Getter; import lombok.Setter; import lombok.ToString; @Getter @Setter @ToString @Document(collection="Account") public class Account { @Id private String id; private String username; private String password; private String role; } 我的repo 是这样的

import org.springframework.data.mongodb.repository.MongoRepository; public interface AccountRepository extends MongoRepository<Account, Integer> {

} 最后。对于我的控制器(尚未完成)

@PutMapping("/createAccount") public void createAccount(@RequestBody Account account) {

} 我想要以下内容

如果我要在请求正文中发送json,例如

{ "username": "Tom", "password": "123456", "role": "Employee" } 然后,它将在Account集合中创建一个具有该属性的对象,可以轻松地通过repository.insert(account)完成此操作。但是我需要检查某些过滤器

所有三个对象都需要设置 角色必须是“雇员”,“管理员”或“客户” 最后,用户尚未在数据库中 否则发送响应400

如何使用springboot实现此目的?

NoSQL Java MongoDB 数据库
分享到
取消 提交回答
全部回答(1)
  • 一码平川MACHEL
    2019-10-10 17:21:53

    您可以在Controller中使用@Valid Annotation,然后可以在Model类中放置@NotNull或@NotEmpty或@NotBlank。参考:https : //www.baeldung.com/spring-boot-bean-validation public void createAccount(@Valid @RequestBodyAccount account){

    }

    public class Account {

    @Id
    @NotNull
    private String id;
    @NotNull
    private String username;
    @NotNull
    private String password;
    @NotNull
    private String role;
    

    } 您可以使用Spring Security Expressions。参考:https : //www.baeldung.com/spring-security-expressions-basic

    @PreAuthorize(“ hasRole('ROLE_ADMIN')”)

    @PutMapping(“ / createAccount”)

    public void createAccount(@RequestBodyAccount account){

    }

    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题