Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
了解asp.net核心端点路由的结构_Asp.net_Asp.net Core_Asp.net Core Webapi_Model Binding - Fatal编程技术网

了解asp.net核心端点路由的结构

了解asp.net核心端点路由的结构,asp.net,asp.net-core,asp.net-core-webapi,model-binding,Asp.net,Asp.net Core,Asp.net Core Webapi,Model Binding,以下路线中的:long零件的用途是什么 [HttpGet("api/{users:long}")] public async Task<IActionResult> Get([FromRoute] long userId) { ... } [HttpGet(“api/{users:long}”)] 公共异步任务获取([FromRoute]长用户ID) { ... } 我在控制器端点上看到过,但从未使用过,那么它做什么呢?这些被称为内联路由约束;您

以下路线中的
:long
零件的用途是什么

[HttpGet("api/{users:long}")]   
public async Task<IActionResult> Get([FromRoute] long userId)
{
    ...
}
[HttpGet(“api/{users:long}”)]
公共异步任务获取([FromRoute]长用户ID)
{
...
}

我在控制器端点上看到过,但从未使用过,那么它做什么呢?

这些被称为内联路由约束;您可以在此处查看有关它们的文章:

它使端点检查路由值是否确实是一个
长的
,否则它根本不会选择要运行的操作

它不应用于验证IMO,Marius展示了一个可以使用这些约束的好例子:

公共类消息控制器:ApiController
{
[路由(“messages/{messageId:int}”)]
公共消息获取(int messageId)
{
// ...
}
[路由(“消息/{messageId:guid}”)]
公共消息获取(Guid消息ID)
{
// ...
}
}

根据路由值的类型,可以选择不同的操作。

这些操作称为内联路由约束;您可以在此处查看有关它们的文章:

它使端点检查路由值是否确实是一个
长的
,否则它根本不会选择要运行的操作

它不应用于验证IMO,Marius展示了一个可以使用这些约束的好例子:

公共类消息控制器:ApiController
{
[路由(“messages/{messageId:int}”)]
公共消息获取(int messageId)
{
// ...
}
[路由(“消息/{messageId:guid}”)]
公共消息获取(Guid消息ID)
{
// ...
}
}
根据路由值的类型,可以选择不同的操作。

请参见正式文档中的。请参见正式文档中的。