7
:WebAPIの:コントローラを考えると、カスタムパラメータマッピング
public class MyController : ApiController
{
public MyResponse Get([FromUri] MyRequest request)
{
// do stuff
}
}
とモデル:
public class MyRequest
{
public Coordinate Point { get; set; }
// other properties
}
public class Coordinate
{
public decimal X { get; set; }
public decimal Y { get; set; }
}
そしてAPIのURL:
/api/my?Point=50.71,4.52
私はのPoint
プロパティが欲しいですタイプCoordinate
は、クエリ文字列値50.71,4.52
から変換されてからコントローラ。
どこでWebAPIを実行すればいいですか?
問題をそれそれとI'LLこと手動ですべてのプロパティをバインドする必要があります。モデルに 'int Radius'プロパティがあるとしましょう。私はそれを自動的にバインドしたいと思います。それは可能でしょうか? – David
AFAIK、はい、すべてを縛る必要があります。結局のところ、クエリ文字列を型のインスタンスに変換する方法をシステムに伝えています。私はあなたが残りの部分を解析するためにいくつかのリフレクション・フォーカスを加えることができると思いますが、私はこの文脈でやっていません。 – ssarabando
特定の種類のプロパティのみをバインドすることは可能です。詳細については、http://www.asp.net/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web- api – David