'producer' ReactiveAdapterRegistry 未知类型(WebFlux 处理程序)

'producer' type is unknown to ReactiveAdapterRegistry (WebFlux handler)

我的申请中有以下路线

@Bean
public RouterFunction<ServerResponse> route(UserHandler handler) {
    return RouterFunctions.route(RequestPredicates.POST("/users"), handler::signup);
}

通过以下方法处理

public Mono<ServerResponse> signup(ServerRequest request) {
    return request
            .bodyToMono(User.class)
            .map(user -> {
                user.setPassword(encoder.encode(user.getPassword()));
                return user;
            })
            .flatMap(repository::save)
            .map(user -> tokenService.create(user.getId()))
            .map(TokenDto::new)
            .flatMap(tokenDto -> ServerResponse.ok().body(tokenDto, TokenDto.class));
}

当我向端点发出有效请求时,记录了以下错误

'producer' type is unknown to ReactiveAdapterRegistry

用调试器调查了这个问题后,我发现我的处理程序的注册方法成功完成,所以我假设路由器不喜欢 return 值,但我不确定为什么?

我和你有同样的问题,同样的错误。 最后我用 bodyValue 方法更改了代码而不是 body(T,Class),你可以试试这个:ServerResponse.ok().contentType(MediaType.APPLICATION_JSON).bodyValue(tokenDto)