【发布时间】:2021-02-23 15:34:22
【问题描述】:
在 Spring Boot 中,对于 Webflux 项目,我们通过在 HTTP 请求中发送标头 - “Accept: application/stream+json”来请求数据流。
如果我们发送“Accept: application/json”,我们会得到一个有效的 Json。
然而,在 Micronaut 中,如果我发送“Accept: application/stream+json”,则会引发错误。
{
"message": "Specified Accept Types [application/x-json-stream] not supported. Supported types: [application/json]",
"_links": {
"self": {
"href": "/carts/reactive",
"templated": false
}
}
}
Micronaut 中的“Accept: application/stream+json”是什么意思?
【问题讨论】:
-
接受相关请求的
@Controller方法的签名是什么? -
它只是有一个@Get注解。消费者提到,没有产品。在 Spring Boot 中,我们可以使用“Accept”标头来控制流式传输。我们不能在 Micronaut 中做同样的事情吗?
-
@JeffScottBrown @Get("/cart/reactive") public Mono
getCartReactively() { return cartClient.getCartReactively() .doOnNext(cart -> log.info("退回的购物车:" +购物车)); } -
您是否尝试使用“application/x-json-stream”作为 Accept 标头,我相信它与 Micronaut 中的等价物
-
@ManinderReddy 是的。这是我最初的想法。它没有用。我收到错误“不支持指定的接受类型 [application/x-json-stream]”
标签: micronaut reactor micronaut-client micronaut-rest