【问题标题】:Set HTTP Options Response w/ Claudia-Api-Builder for AWS ApiGateway使用 Claudia-Api-Builder 为 AWS ApiGateway 设置 HTTP 选项响应
【发布时间】:2018-06-13 09:51:15
【问题描述】:

我正在尝试为 options 设置 Access-Control-Allow-Methods 标头,目前看来 claudia-api-builder 无法设置 http 选项响应,例如 @987654325 @请求会。请参阅下面的 GET 示例。

GET 示例

api.get('/hard-coded-headers', function () {
   return 'OK';
}, {success: {headers: {'Access-Control-Allow-Methods': 'GET, HEAD, OPTIONS'}}});

还有……

如果此标头值是通过aws-api-gateway -> resources -> OPTIONS > Integration Response 设置的,然后如果您要执行claudia update,它将被覆盖回其默认状态,如下所示。

claudia-api-builder 文档显示它支持 API Gateway 自定义错误响应,但没有任何成功。

我希望能够设置选项自定义标头响应,就像处理 GET 请求的方式一样。这可能吗?

【问题讨论】:

    标签: node.js http aws-lambda aws-api-gateway claudiajs


    【解决方案1】:

    你试过new ApiResponse()函数吗?

    api.get('/programmatic-headers', function () {
      return new api.ApiResponse('OK', {'Access-Control-Allow-Methods': 'GET, HEAD, OPTIONS'}, 200);
    });
    

    【讨论】:

      【解决方案2】:

      跨源资源共享 (CORS) 是一种机制,它使用额外的 HTTP 标头让用户代理获得访问来自与当前使用的站点不同源(域)的服务器上的选定资源的权限。

      您可以保证对一个(或多个)域、http 动词或 contentType 的权限

      res.header('Access-Control-Allow-Origin', 'example.com');
      res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
      res.header('Access-Control-Allow-Headers', 'Content-Type');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-19
        • 1970-01-01
        • 2016-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-28
        • 1970-01-01
        相关资源
        最近更新 更多