gpt4 book ai didi

asp.net-web-api - ASP.Net Web API 模型绑定(bind)不像在 MVC 3 中那样工作

转载 作者:行者123 更新时间:2023-12-03 10:41:45 24 4
gpt4 key购买 nike

我的印象是,ASP.Net Web API 中的模型绑定(bind)应该支持与 MVC 支持的最低功能级别的绑定(bind)。

采取以下 Controller :

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 中那样绑定(bind)。为什么这不像我期望的那样具有约束力?我的应用程序中将有很多不同的模型类型。如果绑定(bind)能正常工作就好了,就像在 MVC 中一样。

最佳答案

看看这个:How WebAPI does Parameter Binding

您需要像这样装饰您的复杂参数:

public IEnumerable<string> Get([FromUri] SearchModel searchSearchModel)

或者
public IEnumerable<string> Get([ModelBinder] SearchModel searchSearchModel)

关于asp.net-web-api - ASP.Net Web API 模型绑定(bind)不像在 MVC 3 中那样工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10863499/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com