在Serverless YAML中配置自定义响应体编码(text/html;utf-8)
解决方案:在Serverless Framework中设置API Gateway响应Content-Type为text/html; charset=utf-8
嘿,我来帮你搞定这个配置调整!你需要把API Gateway的响应Content-Type设置为text/html; charset=utf-8,只需要修改现有YAML里的response部分的headers配置即可,具体调整后的完整配置如下:
events: - http: path: test/test2 method: post private: false integration: lambda request: template: application/x-www-form-urlencoded: '#set($inputRoot = $input.path("$")) ' response: statusCodes: 200: pattern: '' headers: Content-Type: "'text/html; charset=utf-8'"
关键调整说明:
- 移除了原来单独设置的
charset字段,因为我们可以直接在Content-Type头里完整指定类型和编码,这样更符合HTTP标准,也和AWS控制台里的配置效果完全对应。 - 用单引号嵌套的方式(
"'text/html; charset=utf-8'")是为了让Serverless框架正确把这个值传递给API Gateway,确保控制台里显示的内容和你期望的一致。
部署更新后的配置后,你的API Gateway方法响应的Content-Type就会被设置为text/html; charset=utf-8,和你提到的控制台截图效果完全匹配啦。
内容的提问来源于stack exchange,提问作者Tahir Mehmood
相关产品推荐
相关产品推荐

