aws-api-gateway - Spring Cloud Function AWS Adapter 未设置状态码
问题描述
我正在做 POC,如果我希望将状态代码设置为 400。但是,当我使用APIGatewayV2HTTPResponse
或APIGatewayProxyResponseEvent
响应对象时,状态代码将返回正文而不是响应代码。
我正在使用 spring-cloud-function-adapter-aws:3.1.4,它被部署为 HTTP API。 https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html
这是我的方法
@Bean
public Function<Message<String>, APIGatewayV2HTTPResponse> error() {
return value -> {
StringBuilder stringBuilder = new StringBuilder(value.getPayload());
APIGatewayV2HTTPResponse responseEvent = new APIGatewayV2HTTPResponse();
responseEvent.setStatusCode(400);
responseEvent.setIsBase64Encoded(false);
responseEvent.setHeaders(Map.of("content-type", "application/json"));
responseEvent.setBody(stringBuilder.reverse().toString());
return responseEvent;
};
}
解决方案
推荐阅读
- c# - JSON 字符串无法使用 Newtonsoft.Json C# 反序列化
- powershell - 创建一个循环遍历 Powershell 的函数
- python-3.x - 如何有条件地注释返回单个结果但类型不同的python函数?
- javascript - 我的自动完成 jquery 不适用于电子邮件
- mdriven - 如何在入职或结账过程中创建用户
- spring - Spring Data Audit,CreatedBy 在更新时丢失
- java - 为什么 java 不能协调来自不同来源的 `?` 泛型类型
- python - QThread 实现的 PyQt/PySide2 问题,我试图将另一个类的方法传递给线程类构造函数
- azure - Azure 替换中的域控制器
- c# - C# 抽象类将“this”作为泛型传递