将整数数组发布到asp.net web api

kko*_*yik 3 c# asp.net asp.net-mvc asp.net-web-api

我有一个类似下面的类发布到asp.net web api

public class PostData
{

    public int ID { get; set; }

    public int[] SelectedChoiceIDs { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

在我的ApiController中有一个名为send的方法,它将PostData对象作为参数.

public bool Send(PostData data)
{


}
Run Code Online (Sandbox Code Playgroud)

问题是每当我跟踪方法Web API没有绑定到整数数组时,即SelectedChoiceIDs属性.我如何强制将整数数组绑定到" SelectedChoiceIDs"属性?

我发送的数据就像

{ "ID" : 3 , "SelectedChoiceIDs" : [ 3,4,5,6 ] } 
Run Code Online (Sandbox Code Playgroud)

Fil*_*p W 9

你不需要做任何事情,这将开箱即用.

如果您发布您提供的确切对象:

{ "ID" : 3 , "SelectedChoiceIDs" : [ 3,4,5,6 ] } 
Run Code Online (Sandbox Code Playgroud)

使用Content-Type: application/json,默认模型绑定器将自动拾取它.

public class PostData
{

    public int ID { get; set; }

    public int[] SelectedChoiceIDs { get; set; }

}

public void DummyController : ApiController
{
    public void Post(PostData data)
    {
        //data here will be PostData with ID and an array of 4 integers
    }
}
Run Code Online (Sandbox Code Playgroud)

确保你提供了Content-Type,并且你确实发布了正确的JSON,而不是例如:

{data: { "ID" : 3 , "SelectedChoiceIDs" : [ 3,4,5,6 ] } }
Run Code Online (Sandbox Code Playgroud)