【问题标题】:Micronaut Controller How To Return A No Content Response StatusMicronaut 控制器如何返回无内容响应状态
【发布时间】:2021-06-22 02:03:14
【问题描述】:

我正在为我们将部署到 AWS Lambda 的应用程序学习 Micronaut。端点之一需要返回无内容。我尝试了不同的方法,但仍然没有得到任何内容响应。

这个返回 404 Not Found on localhost:8080

@Controller
public class MyController {

    @Get
    public HttpResponse<Void> save() {
        return HttpResponse.noContent();
    }

}

还有这个

@Controller
public class MyController {

    @Get
    @Status(HttpStatus.NO_CONTENT)
    public void save() {
        
    }
}

我尝试了@Post,但它返回了

com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input

@Controller
public class MyController {

    @Post
    @Status(HttpStatus.NO_CONTENT)
    public void save() {
        
    }
}

谁能提供一个可行的例子。谢谢。

【问题讨论】:

  • return HttpResponse.status(HttpStatus.NO_CONTENT) 工作吗?
  • @JeffScottBrown 我猜这与我的构建有关。在 build.gradle 文件中,我将这一行 runtime("lambda") 更改为 runtime("netty"),它现在可以工作了。
  • @berty 您能否将其发布为答案并将其标记为正确答案,因为这会帮助其他正在寻找类似解决方案的人?

标签: micronaut micronaut-aws


【解决方案1】:

它与 build.gradle 上指定的运行时有关。我忘记将它从runtime("lambda") 更改为runtime("netty"),这就是为什么在本地测试它会返回错误响应。

【讨论】:

    猜你喜欢
    • 2019-08-20
    • 2016-10-07
    • 2014-12-02
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-30
    相关资源
    最近更新 更多