micronaut筛选过程将返回发布者 但是如果我尝试订阅发布者的结果 抛出
13:37:24.721 [nioEventLoopGroup-1-2] ERROR i.m.h.s.netty.RoutingInBoundHandler - Unexpected error occurred: Only one subscriber allowed
java.lang.IllegalStateException: Only one subscriber allowed
at io.micronaut.core.async.processor.SingleSubscriberProcessor.subscribe(SingleSubscriberProcessor.java:55)
at io.micronaut.http.server.netty.binders.PublisherBodyBinder.lambda$null$0(PublisherBodyBinder.java:83)
at io.reactivex.internal.operators.single.SingleFromPublisher.subscribeActual(SingleFromPublisher.java:35)
at io.reactivex.Single.subscribe(Single.java:3603)
坏控制器
@Post
public Single<Map<String, String>> test(@Body Single<Map<String, String>> input) {
return input;
}
好的控制者
@Post
public Single<Map<String, String>> test(@Body Map<String, String> input) {
return Single.just(input);
}
简单过滤器
@Override
public Publisher<MutableHttpResponse<?>> doFilter(HttpRequest<?> request, ServerFilterChain chain) {
Publisher<MutableHttpResponse<?>> actual = chain.proceed(request);
Publisher<MutableHttpResponse<?>> actual = chain.proceed(request);
actual.subscribe(mysubscribe);
return actual;
}
我觉得这是一个错误。请先问这里。 谢谢