我有一个已编译的Azure函数,我想使用HttpTrigger属性定义自定义路由.
我的代码看起来像这样:
public static async Task<HttpResponseMessage> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = "qotd/{format}")]HttpRequestMessage req, string format, TraceWriter log)
{
var quote = GetRandomQuote();
if (format == "json")
{
return req.CreateResponse(HttpStatusCode.OK, quote, "application/json");
}
else
{
var strQuote = quote.Text + Environment.NewLine + quote.Author;
return req.CreateResponse(HttpStatusCode.OK, strQuote, "text/plain");
}
}
Run Code Online (Sandbox Code Playgroud)
当我这样称呼它: localhost:7071/api/qotd/json 我得到404.
当我这样称它为: localhost:7071/api/qotd /?format = json 然后函数成功.
如果我这样称呼: localhost:7071/api/qotd / 我得到一个相当讨厌的错误:
"执行函数时出现异常:QotDFunction - >异常绑定参数'格式' - >绑定数据不包含预期值'format'......"
如何在HttpTrigger的Route参数中定义绑定,以便我可以像这样调用我的函数:
localhost:7071/api/qotd - 用于参数格式的默认值
和
localhost:7071/api/qotd/json - 将"json"作为格式的值传递?
对于路线,我也尝试了"qotd/{format:alpha?}"但得到了相同的结果.
归档时间: |
|
查看次数: |
5411 次 |
最近记录: |