首页 > 解决方案 > Spring Cloud Function AWS Adapter 未设置状态码

问题描述

我正在做 POC,如果我希望将状态代码设置为 400。但是,当我使用APIGatewayV2HTTPResponseAPIGatewayProxyResponseEvent响应对象时,状态代码将返回正文而不是响应代码。

我正在使用 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;
        };
    }

这是我的回应: 在此处输入图像描述

标签: aws-api-gatewayspring-cloud-function

解决方案


推荐阅读