我有一个带ASP网络核心的Web应用程序。 我有以下网址:https://localhost:44370/f6ebb97e-17c1-4c50-af83-643d82ded22c 其中f6ebb97e-17c1-4c50-af83-643d82ded22c是我想从家用控制器获取的参数,而无需写入URL https://localhost:44370/?Guid=f6ebb97e-17c1-4c50-af83-643d82ded22c。
更改此项:https://localhost:44370/?Guid=f6ebb97e-17c1-4c50-af83-643d82ded22c。
为此:https://localhost:44370/f6ebb97e-17c1-4c50-af83-643d82ded22c
我该怎么做?,非常感谢您的帮助
答案 0 :(得分:0)
通常来说,用于GET请求的数据必须来自路由或查询字符串。在这里,您需要从路由中获取路由,这意味着您只需要为此定义路由:
[HttpGet("{guid}")]
public IActionResult Foo(Guid guid)
docs中对此进行了详细介绍。另请参见attribute routing的讨论。
FWIW,您至少应该为此添加一个路由约束,即指定参数必须是有效的GUID。
[HttpGet("{guid:guid}")]