2016-03-21 16 views
0
public async someReturnType PostSomething(long id, long someOptionalLong = 0); 

上記のコードは機能し、標準的な使用例です。しかし、オプションのパラメータをSomeClass型にしたいのですが?Web API 2のオプションのオブジェクトパラメータ?

public async someReturnType PostSomething(long id, SomeClass someOptionalParam = null); 

上記のエラーは、許可されていないと言います。オプションのクラスインスタンスパラメータを渡すにはどうすればよいですか?私は常に参照型の場合はnullであることを仮定しています考えても

答えて

0
SomeClass classInstanceOptionalParam = default(SomeClass); 

のWeb APIは、これで問題はありませんか?しかたがない。これは良い答えだとは思わないが、少なくともそれはエラーを投げていない。

0

Web Apiはデフォルトでパラメータとしてnull値をサポートしますが、Web APIがURIから複合型を読み取るようにするには、[FromUri]属性をパラメータに追加します。あなたのAPIメソッドは次のようになります:

public async someReturnType PostSomething(long id,[FromUri]SomeClass someOptionalParam) 
関連する問題