在.NET Web API
中,我有一个使用[HttpPost]
方法的控制器。我尝试使用5个伪参数通过[Route]
属性来区分其路由。数据本身将通过[FromBody]
发送和接收:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using api.Models;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.Data;
...
//POST
[Route("api/myControllerPath/p_dummyParam1/p_dummyParam2/p_dummyParam3/p_dummyParam4/p_dummyParam5")]
[HttpPost]
public async Task<IHttpActionResult> doStuff
(
string p_dummyParam1
, string p_dummyParam2
, string p_dummyParam3
, string p_dummyParam4
, string p_dummyParam5
, [FromBody] List<int> IDs
)
{
List<int> listIDs;
listIDs = IDs;
return Ok();
}
但是,尽管该路径与[Route]
描述(http://localhost:8080/api/myControllerPath/1/2/3/4/5
)匹配,但此路径失败并显示404'Not Found'。有任何想法吗? [Route]
属性不能与POST
方法一起使用吗?我的GET
并没有这个问题。