在asp.net Web API中映射数组
本文关键字:映射 数组 API Web asp net | 更新日期: 2023-09-27 18:02:55
我正在尝试将控制器函数映射到我的web api。
config.Routes.MapHttpRoute(
name: "RPCRoutingApiCaseStudy",
routeTemplate: "api/{controller}/{action}/{ServiceID}",
defaults: new { ServiceID = RouteParameter.Optional }
);
问题是,在我的控制器中,ServiceID应该是一个数组。我如何设置我的映射来接受一个数组,它会是什么样子?对不起,如果这是一个明显的问题,但我对这些东西很不熟悉,我正在努力学习。
我知道如何使用常规参数,其中像对于int,我将键入url/api/controller/method/5
我只是不知道该怎么处理数组
为了将复杂类型传递到Web API中,您需要使包含IENumerable类型的helper类,然后通过JSON封装将该对象传递到Web API中。
下面的例子接受一个POST方法,并接受一个包含List的CustomListType对象。然后你可以对这个对象做任何你喜欢的事情。
public class ValuesController : ApiController
{
[System.Web.Http.AcceptVerbs("POST")]
public bool POST(CustomListType myList)
{
//Do stuff here
return true;
}
public class CustomListType
{
public List<int> myArray { get; set; }
}
}
使用高级休息客户端Chrome;您可以通过发送对象来测试该post:
{myArray:[0,1,2]}
注意,因为CustomListType有一个名为"myArray"的成员,所以我们的JSON对象中也有"myArray"。
如果你在那里放了一个调试行,你应该能够看到对象和"myArray"的值