'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)
。
我的申请中有以下路线
@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)
。