ASP.Net Web API のモデル バインディングは、MVC でサポートされるのと同じ最小レベルの機能でバインディングをサポートするはずだという印象を受けました。
次のコントローラーを使用します。
public class WordsController : ApiController
{
private string[] _words = new [] { "apple", "ball", "cat", "dog" };
public IEnumerable<string> Get(SearchModel searchSearchModel)
{
return _words
.Where(w => w.Contains(searchSearchModel.Search))
.Take(searchSearchModel.Max);
}
}
public class SearchModel
{
public string Search { get; set; }
public int Max { get; set; }
}
私はそれを要求しています:
http://localhost:62855/api/words?search=a&max=2
残念ながら、モデルは MVC のようにバインドしません。私が期待するように、これが拘束力を持たないのはなぜですか? アプリケーションにはさまざまなモデル タイプが含まれます。MVC の場合のように、バインディングが機能するのであればいいと思います。