次のように、global.aspx に API foramter を設定しました。
var settings = new JsonSerializerSettings()
{
ContractResolver = new CamelCasePropertyNamesContractResolver(),
Error = HandleSerializationErrors
};
settings.Converters.Add(new StringEnumConverter());
formatters.JsonFormatter.SerializerSettings = settings;
これが私の get アクション署名です:
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 パラメータが Undefined に設定されます!!! 私が送ったものが好きではありません..
理由はわかりますか??
アップデート:
私はそれを解決したと思います。問題はクライアントにあり、列挙型はjson配列形式ではなくコンマ区切りで渡す必要があります。