3

クエリ文字列で空のパラメーターを処理する適切な方法を探しています。Web Api はクエリ文字列を "?id=1&category=" として受け入れません。これは合理的に思えますが、このケースを処理する必要があります。

迅速で汚い解決策は、サーバー側で解釈されるカスタム値を使用することです(たとえば、「(空)」など)が、私はそれに満足していません...

なにか提案を ?

ありがとう。

4

2 に答える 2

3

過去にこれに対処した 1 つの方法は、パラメーターを保持するクラスを作成し、ModelBinder 属性を使用してクエリ パラメーターをクラス プロパティにバインドすることです。

したがって、クラスは次のようになります。

public class QueryParams
{
    public string Category {get; set;}
    public int Id {get; set;}
}

API コントローラーのメソッドは次のようになります。

public objectToReturn Get([ModelBinder] QueryParams)
{
    //code here
}

このようにして、クエリ文字列のパラメーターの 1 つに値がない場合、単純に無視されます。

于 2013-10-16T08:22:40.160 に答える
1

この属性を使用して、目的を達成できます。

    [DisplayFormat(ConvertEmptyStringToNull = false)]

「カテゴリ」が欠落している場合、null になります。それ以外の場合、「category=」または「category=」の場合は空の文字列または空白になります。

于 2014-02-18T21:10:05.543 に答える