小编Jua*_*ina的帖子

什么是处理spring-webflux错误的正确方法

我一直在使用spring-webflux进行一些研究,我喜欢了解使用路由器功能处理错误的正确方法.

我已经创建了一个小项目来测试几个场景,我希望得到关于它的反馈,看看其他人在做什么.

到目前为止我所做的是.

提供以下路由功能:

@Component
public class HelloRouter {
    @Bean
    RouterFunction<?> helloRouterFunction() {
        HelloHandler handler = new HelloHandler();
        ErrorHandler error = new ErrorHandler();

        return nest(path("/hello"),
                nest(accept(APPLICATION_JSON),
                        route(GET("/"), handler::defaultHello)
                                .andRoute(POST("/"), handler::postHello)
                                .andRoute(GET("/{name}"), handler::getHello)
                )).andOther(route(RequestPredicates.all(), error::notFound));
    }
}
Run Code Online (Sandbox Code Playgroud)

我在我的经纪人身上这样做了

class HelloHandler {

    private ErrorHandler error;

    private static final String DEFAULT_VALUE = "world";

    HelloHandler() {
        error = new ErrorHandler();
    }

    private Mono<ServerResponse> getResponse(String value) {
        if (value.equals("")) {
            return Mono.error(new InvalidParametersException("bad parameters"));
        }
        return ServerResponse.ok().body(Mono.just(new HelloResponse(value)), HelloResponse.class);
    }

    Mono<ServerResponse> defaultHello(ServerRequest request) {
        return …
Run Code Online (Sandbox Code Playgroud)

spring-webflux

12
推荐指数
5
解决办法
2万
查看次数

标签 统计

spring-webflux ×1