Azure 使用 C# 以多种方法运行单个 HTTP 触发器
Azure functions single HTTP trigger with multiple methods using C#
目前每个函数都可以这样做吗?
"methods" 是指多个 HTTP 动词,例如 "get"、"post"、"put" 等
在 Web API 中使用控制器,我们可以通过分配控制器中不同方法调用的属性来做到这一点 class。
azure函数中有这样的东西吗?
是的,可以通过函数的 function.json
文件中的 methods
属性 为函数指定一个或多个 http 方法。默认情况下 methods
未指定,这意味着该函数接受所有方法。当您指定受限集时,仅允许使用这些方法,任何其他方法都将导致 405 "Method Not Allowed" 响应。
{
"bindings": [
{
"type": "httpTrigger",
"name": "req",
"direction": "in",
"methods": [ "post", "put" ]
},
{
"type": "http",
"name": "$return",
"direction": "out"
}
]
}
我们很快就会发布这方面的一些重大改进。我们将支持自定义 http 路由,以及完整的路由模板等,这将允许您以您期望的方式定义 REST API。使用这一新功能,您可以让一个函数处理资源的 GET 请求,另一个函数处理 PUT/POST,两者都使用 restful 路由方案,如 products/{category}/{id?}
。这些即将发生的变化将使您能够完成所有 WebAPI 路由方案。
目前每个函数都可以这样做吗? "methods" 是指多个 HTTP 动词,例如 "get"、"post"、"put" 等
在 Web API 中使用控制器,我们可以通过分配控制器中不同方法调用的属性来做到这一点 class。
azure函数中有这样的东西吗?
是的,可以通过函数的 function.json
文件中的 methods
属性 为函数指定一个或多个 http 方法。默认情况下 methods
未指定,这意味着该函数接受所有方法。当您指定受限集时,仅允许使用这些方法,任何其他方法都将导致 405 "Method Not Allowed" 响应。
{
"bindings": [
{
"type": "httpTrigger",
"name": "req",
"direction": "in",
"methods": [ "post", "put" ]
},
{
"type": "http",
"name": "$return",
"direction": "out"
}
]
}
我们很快就会发布这方面的一些重大改进。我们将支持自定义 http 路由,以及完整的路由模板等,这将允许您以您期望的方式定义 REST API。使用这一新功能,您可以让一个函数处理资源的 GET 请求,另一个函数处理 PUT/POST,两者都使用 restful 路由方案,如 products/{category}/{id?}
。这些即将发生的变化将使您能够完成所有 WebAPI 路由方案。