【问题标题】:I am getting Required argument [HttpServletResponse response] not specified when using HttpServletResponse as argument in my controller in micronaut在我的 micronaut 控制器中使用 HttpServletResponse 作为参数时,我得到了必需的参数 [HttpServletResponse response] 未指定
【发布时间】:2022-10-14 14:07:45
【问题描述】:

嗨,当我向控制器发送请求时,我收到 Required argument [HttpServletResponse response] not specified

public void getData(@QueryValue @NotNull String from,
                    HttpServletResponse response) {
}

有人可以帮我解决这个问题吗

【问题讨论】:

  • 无法注入响应,因为它是您的方法的结果。您是否混淆了请求和响应?
  • @SaschaFrinken我的主要用例是在响应本身中写入一个文件,所以我希望在我的方法参数中使用这个HttpServletResponse,这样我就可以使用这个响应直接在响应中写入文件而不将它保存在任何缓冲区中。有什么办法可以在这里给我建议吗?
  • 在我的请求中,我只是发送一个查询参数,它是“来自”字段作为参数之一
  • 对不起这是我的错。我没有看到您正在使用 servlet。响应是可注入的。

标签: micronaut


【解决方案1】:

您可以改用HttpResponse.ok(T body)。这在文档中提到

此外,为了完全控制发出的 HTTP 响应,您可以使用返回 MutableHttpResponse 的 HttpResponse 类的静态工厂方法。

Micronaut Docs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-07
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-01
    • 2020-09-16
    • 1970-01-01
    相关资源
    最近更新 更多