我在 global.aspx 中设置了我的 API foramter,如下所示:
var settings = new JsonSerializerSettings()
{
ContractResolver = new CamelCasePropertyNamesContractResolver(),
Error = HandleSerializationErrors
};
settings.Converters.Add(new StringEnumConverter());
formatters.JsonFormatter.SerializerSettings = settings;
这是我的获取操作签名:
public List<WhatsNew> Get(int page, int start, int limit, [FromUri] IEnumerable<BusinessArchiveEnum> filterBy)
以下是枚举数组的传输方式:
这是枚举:
public enum BusinessArchiveEnum
{
Undefined = 0,
PurchaseOrder = 1,
SalesOrder = 2,
SentTaxInvoice = 3,
ReceivedTaxInvoice = 4
}
调用操作时,filterBy 参数设置为未定义!!!不像我发的..
知道为什么吗?
更新:
我想我已经解决了,问题出在客户端中,枚举应该使用逗号分隔符而不是 json 数组格式传递。