2

我正在尝试将自定义 HTTP 标头添加到我的 Azure Functions 的所有响应中 - 我们将其称为 X-Custom。然后我将这样的 proxies.json 文件添加到我的函数项目中:

{
  "$schema": "http://json.schemastore.org/proxies",
  "proxies": {
    "add-custom-header-to-response": {
      "matchCondition": {
        "route": "/{*restOfPath}"
      },
      "responseOverrides": {
        "response.headers.X-Custom": "Custom value"
      }
    }
  }
}

这按预期工作,我确实得到了 X-Custom 标头,但我的响应内容丢失了。proxies.json 文件中缺少什么?

更新

感谢 Baskar,我找到了解决方案(我缺少 backendUri):

{
  "$schema": "http://json.schemastore.org/proxies",
  "proxies": {
    "add-custom-header-to-response": {
      "matchCondition": {
        "route": "/api/1/{*restOfPath}"
      },
      "backendUri": "https://localhost/api/1/{restOfPath}",
      "responseOverrides": {
        "response.headers.X-Custom": "Custom value"
      }
    }
  }
}

另见:

https://docs.microsoft.com/en-us/azure/azure-functions/functions-proxies#reference-localhost https://docs.microsoft.com/en-us/azure/azure-functions/functions-proxies #路由模板参数

4

1 回答 1

2

刚刚使用“test”路由测试了我的 azure 函数,我已经覆盖了我的响应状态代码和状态描述并添加了自定义标头。您的 proxies.json 缺少函数后端 url。

{
    "$schema": "http://json.schemastore.org/proxies",
    "proxies": {
        "test": {
            "matchCondition": {
                "route": "test"
            },
            "backendUri": "https://testbasenewtest.azurewebsites.net/api/HttpTrigger1",
            "responseOverrides": {
                "response.statusCode": "200",
                "response.statusReason": "Successful Response",
                "response.headers.API_Login": "custom"
            }
        }
    }
}
于 2018-10-22T16:17:58.040 回答