My API Gateway/Lambda安装程序返回HTTP响应头:Lambda使用回调函数作为JSON的一部分返回值,集成响应将其映射到HTTP头(使用Integration.response.body
)
使用此解决方案,值将在正文和标题中发回。
如何从Lambda响应映射头而不复制响应体中的值?
由于问题指出正在使用自定义映射(使用integration.response.body),这意味着没有使用Lambda代理集成。因此,在这种情况下,解决方案是按照您已经在做的方式映射标题。
要从正文部分删除重复的标题,请在集成响应中使用映射模板,并忽略映射中的标题。我认为您可能使用了直通响应,这就是为什么您会看到重复的标题。
在这里查看更多留档:https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html
而且,如果您没有启用Lamba代理集成,您可以在amazon API网关控制台中添加(并映射)响应标头:
转到资源-
已解决此错误…:“请求的资源上不存在“Access Control Allow Origin”标头”
如果启用了Lambda代理集成,则可以将响应头设置为Lambda输出的一部分,API网关将它们作为HTTP响应的一部分返回给客户端。
node.js例子:
callback(null, {
"isBase64Encoded": false, // Set to `true` for binary support.
"statusCode": 200,
"headers": {
"header1Name": "header1Value",
"header2Name": "header2Value",
},
"body": "...",
});
其中,如果不返回额外的响应头,头
可以为null或未指定。
有关代理集成,请参见Lambda函数的输出格式。
我有密码 当我使用 curl http://localhost:8080/graph 当我向该URL发送一个POST请求时,我需要返回状态201,用于创建和方法POST。在这方面需要一些帮助。谢谢.
主要内容:HTTP响应完整格式HTTP响应完整格式 HTTP的响应也由三部分组成(响应行+响应头+响应体): 以下是一个实际的HTTP响应示例: ①报文协议及版本; ②状态码及状态描述; ③响应报文头,也是由多个属性组成; ④响应报文体,即我们真正要的“干货”。
基本响应 当然,所有的路由及控制器必须返回某个类型的响应,并发送回用户的浏览器。Laravel 提供了几种不同的方法来返回响应。最基本的响应就是从路由或控制器简单的返回一个字符串: $router->get('/', function () { return 'Hello World'; }); 指定的字符串会被框架自动转换成 HTTP 响应。 响应对象 但是,对于大多数路由和控制器行为
Blade 中操作响应的对象是 Response 发送文本 Response#text 用于发送一个状态码为 200 的文本响应 public void responseText(Response response){ response.text("Hello World"); } 发送HTML Response#html 用于发送一个状态码为 200 的HTML响应 public voi
下面的配置位接受一个HTTP POST,其中包含一个要创建的用户实例的JSON请求体,但如果我能让它返回一个创建的
在HttpServletResponse接口中定义了若干设置HTTP响应消息头的方法,如addHeader方法可以添加响应消息头字段;addIntHeader方法可以添加整数值的响应消息头字段;setContextType方法可以设置Context-Type字段值。 HTTP响应消息头是由若干key-value对组成的,其中key表示字段名,value表示字段值,中间用冒号(:)分隔。如下面的内容