Ven*_*nky 6 azure attributerouting azure-functions
我试图强制路由参数,guid但低于错误
"执行函数时出现异常:GetUser - >发生了一个或多个错误. - >异常绑定参数'req' - >从'System.String'到'System.Guid'的无效转换."
public static async Task<HttpResponseMessage> Run(
[HttpTrigger(AuthorizationLevel.Admin, "get", Route = "GetUser/{userId:guid}")] HttpRequestMessage req,
Guid userId, ILogger log)
{
}
Run Code Online (Sandbox Code Playgroud)
我的要求是 http://localhost:7071/api/GetUser/246fb962-604d-4699-9443-fa3fa840e9eb/
我错过了什么吗?我们不能强制路由参数是guid吗?
从'System.String'到'System.Guid'的转换无效
我可以{userId:guid}在Azure httptrigger函数中使用Route约束时重现相同的问题,您可以尝试打开问题以提供反馈.
此外,如果可能,您可以尝试调用Guid.TryParse方法将字符串转换回函数代码中的Guid值,以下代码供您参考.
public static string Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = "GetUser/{userId:guid}")]HttpRequestMessage req, string userId, TraceWriter log)
{
log.Info("C# HTTP trigger function processed a request.");
Guid newGuid;
var resmes = "";
if (Guid.TryParse(userId, out newGuid))
{
resmes = "userid: " + newGuid;
}
else {
resmes = "error";
}
return resmes;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
766 次 |
| 最近记录: |