如何不设置参数?在ASP Net Core Web应用程序中的simbol

时间:2019-02-25 16:02:21

标签: .net asp.net-core .net-core

我有一个带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

我该怎么做?,非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

通常来说,用于GET请求的数据必须来自路由或查询字符串。在这里,您需要从路由中获取路由,这意味着您只需要为此定义路由:

[HttpGet("{guid}")]
public IActionResult Foo(Guid guid)

docs中对此进行了详细介绍。另请参见attribute routing的讨论。

FWIW,您至少应该为此添加一个路由约束,即指定参数必须是有效的GUID。

[HttpGet("{guid:guid}")]