我正在玩 Micronaut,目前我想念的是 HttpServletRequest
的访问权限和HttpServletResponse
。这些通常允许访问以下内容:
- 请求参数
- 输入/输出流(尤其是直接写入输出流)
- 获取/设置cookie
- 获取/设置 header
- 获取客户端IP
此外,我不确定以下替代方案:
-
@RequestParam files: List<MultipartFile>
-
@RequestBody myClass: MyClass
最佳答案
https://docs.micronaut.io/latest/guide/index.html#requestResponse和 https://docs.micronaut.io/latest/guide/index.html#binding展示如何绑定(bind)到请求参数、cookie、 header 等。
https://docs.micronaut.io/latest/guide/index.html#uploads展示如何处理文件上传。
input/output stream (especially writing directly to output stream)
Micronaut 的处理方式不同,因此您无法访问要写入的流。您可以返回响应类型,以便在数据可用时将其推送到响应。
getting client IP
通常可通过主机 header 或 https://docs.micronaut.io/latest/api/io/micronaut/http/HttpRequest.html#getRemoteAddress-- 获得
编辑:发送分块的 XML 文件
@Get(uri = "/xml", produces = MediaType.TEXT_XML)
Flowable<String> getXml() {
return Flowable.create(emitter -> {
emitter.onNext("<<xml header>>");
//do some work
emitter.onNext("more xml");
emitter.onNext("<<xml footer>>");
}, BackpressureStrategy.BUFFER);
}
关于java - Micronaut 中 HttpServletRequest 和 HttpServletResponse 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55870398/