0

次のように、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配列形式ではなくコンマ区切りで渡す必要があります。

4

0 に答える 0