相关疑难解决方法(0)

如何在 Spring Boot webflux 上从 mono<user> 获取用户名?

我尝试制作 spring boot webflux 的处理程序和路由器类。模型类是用户类。代码是

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Document(collection="Users") 
public class User {

    @Id 
    private String _id;

    @Indexed(unique = true) 
    private Long id; 

    @Indexed(unique=true)  
    private String username;

    private String password;

    private String email;

    private String fullname;

    private String role;
}
Run Code Online (Sandbox Code Playgroud)

下面是 webflux 项目的处理程序类。在register方法中,我制作了id重复测试代码。但这是完全错误的。

@Component
public class UserHandler {

    @Autowired
    private UserReactiveMongoRepository userRepository;

    public Mono<ServerResponse> register(ServerRequest request) {
        Mono<User> monoUser = request.bodyToMono(User.class);
        String id = monoUser.map(u -> u.get_id()).toString();

        if(userRepository.existsById(id) == null)
            return ServerResponse.ok().build(userRepository.insert(monoUser));

        return ServerResponse.ok().build();
    }
}
Run Code Online (Sandbox Code Playgroud)

我想从 spring webflux …

java reactive-programming spring-boot spring-webflux

3
推荐指数
1
解决办法
3003
查看次数