Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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
C# ASP.NET核心中的自定义路由_C#_Asp.net Core_Asp.net Core Webapi - Fatal编程技术网

C# ASP.NET核心中的自定义路由

C# ASP.NET核心中的自定义路由,c#,asp.net-core,asp.net-core-webapi,C#,Asp.net Core,Asp.net Core Webapi,我正在构建一个API,我想为POST请求点击一些操作:/API/sections/assign?sectionId=1。但由于某些原因,这条路线不起作用。请帮忙 这是我的密码: [Route("/api/[controller]")] public class SectionsController : Controller { [HttpPost("/assign/{id}")] public async Task<IActionResult> AssignRoom(

我正在构建一个API,我想为POST请求点击一些操作:/API/sections/assign?sectionId=1。但由于某些原因,这条路线不起作用。请帮忙

这是我的密码:

[Route("/api/[controller]")]
public class SectionsController : Controller
{
    [HttpPost("/assign/{id}")]
    public async Task<IActionResult> AssignRoom(int sectionId, [FromBody] SaveRoomSectionAssignmentResource resource)
    {
        // Some Code ...
    }
}
[路由(“/api/[controller]”)
公共类节控制器:控制器
{
[HttpPost(“/assign/{id}”)]
公共异步任务分配室(int sectionId,[FromBody]SaveRoomSectionAssignmentResource)
{
//一些代码。。。
}
}
我希望操作被命中,但它不起作用。

应该被命中

[HttpPost]
[Route("assign/{sectionId}")]
public async Task<IActionResult> AssignRoom(int sectionId, [FromBody] SaveRoomSectionAssignmentResource resource)
{
          // some code here
}
[HttpPost]
[路由(“分配/{sectionId}”)]
公共异步任务分配室(int sectionId,[FromBody]SaveRoomSectionAssignmentResource)
{
//这里有一些代码
}
名称空间调度系统.控制器
{
[路线(“api/路段”)]
公共类节控制器:控制器
{
[HttpPost]
[路由(“分配/{sectionId}”)]
公共异步任务分配室(int sectionId,[FromBody]SaveRoomSectionAssignmentResource)
{
//这里有一些代码
}
}
}

使用此POST请求:-/api/sections/assign/1

为什么要使用Route和RoutePrefix属性?区别是什么?RoutePrefix用作属性来设置整个控制器的路由,route将用于设置在控制器中创建的操作方法的路由。
namespace SchedulingSystem.Controllers
    {
        [Route("api/Sections")]
            public class SectionsController : Controller
            {
               [HttpPost]
               [Route("assign/{sectionId}")]
               public async Task<IActionResult> AssignRoom(int sectionId, [FromBody] SaveRoomSectionAssignmentResource resource)
               {
                  // some code here
               }
            }
        }