C# Azure函数在使用http而不是https时解释为GET
我有一个Azure Functions.NET Core 3.1端点,我正在从Postman向其发送POST命令。当我使用https(SSL)向我的端点发送请求时,一切正常。当我使用httphttp访问同一个端点时,传入HttpRequest的方法是“GET”而不是“POST”。我在host.json文件中没有什么特别之处,除了我的函数可以采用GET或POST方法之外,这个函数应用程序也没有什么特别之处。这是my host.json:C# Azure函数在使用http而不是https时解释为GET,c#,.net-core,azure-functions,C#,.net Core,Azure Functions,我有一个Azure Functions.NET Core 3.1端点,我正在从Postman向其发送POST命令。当我使用https(SSL)向我的端点发送请求时,一切正常。当我使用httphttp访问同一个端点时,传入HttpRequest的方法是“GET”而不是“POST”。我在host.json文件中没有什么特别之处,除了我的函数可以采用GET或POST方法之外,这个函数应用程序也没有什么特别之处。这是my host.json: { "version": "2.0" } 我的任何职能
{
"version": "2.0"
}
我的任何职能:
[FunctionName("GraphQL")]
public IActionResult Get
(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = "graphql")] HttpRequest req,
ILogger log
)
{
// ... req.Method === "GET" here when under only http, even when a POST
}
我相信通过HTTP发送的HTTP请求可能正在接收302响应,因此会重定向它 重定向时,它不会重定向为POST,而是作为GET,您的函数会将其视为GET
在Azure功能应用程序设置/自定义域上,尝试将HTTPS仅设置为true,以查看它是否能解决问题。这是一个非常好的建议。不幸的是,在做任何事情之前,当我尝试这个方法时,问题不再显现。嘘!无论如何,谢谢卡洛斯,这可能会奏效,所以我会把它标记为答案。