WebAPI 路由属性不从请求中获取参数

本文关键字:获取 参数 请求 路由 属性 WebAPI | 更新日期: 2023-09-27 18:37:08

我有一个简单的API控制器和定义如下GET操作:

[RoutePrefix("api")]
public class MyController : ApiController
{
    [HttpGet]
    [Route("My/{id1}/{id2}")]
    public object Get(Guid id1, Guid id2)
    {
        return new object();
    }
}

调用此

http://localhost/api/My/dd0d728-ae3d-4129-8a81-b0cdbcfd17c1/11063362-243b-4ff6-b3b6-85a9d611d347'

引发以下错误

参数

字典包含不可为空类型"System.Guid"的参数"id1"的空条目。

似乎它找到了正确的路线,但无法正确设置参数。

WebAPI 路由属性不从请求中获取参数

我使用您提供的路线进行了测试,并能够重现您遇到的问题。但是当我生成两个新的 Guid 并再次尝试该路线时,它奏效了。

我认为您提供的值无法转换为正确的 Guid。

检查以确保值可以转换为预期类型。

希望有帮助