asp.net-mvc-4 – 如何开发一个ASP.NET Web API接受一个复杂的对象作为参数?
发布时间:2020-07-21 13:01:08 所属栏目:asp.Net 来源:互联网
导读:我有以下Web API(GET): public class UsersController : ApiController{ public IEnumerableUsers Get(string firstName, string LastName, DateTime birthDate) { // Code }} 这是一个GET,所以我可以这样
我有以下Web API(GET): public class UsersController : ApiController { public IEnumerable<Users> Get(string firstName,string LastName,DateTime birthDate) { // Code } } 这是一个GET,所以我可以这样调用: http://localhost/api/users?firstName=john&LastName=smith&birthDate=1979/01/01 并接收用户的xml结果。 是否可能将参数封装到一个类如下: public class MyApiParameters { public string FirstName {get; set;} public string LastName {get; set;} public DateTime BirthDate {get; set;} } 然后有: public IEnumerable<Users> Get(MyApiParameters parameters) 我试过它,并且任何时候我尝试从http:// localhost / api / users?firstName = john& lastName = smith& birthDate = 1979/01/01获得结果,参数为null。 解决方法默认情况下,复杂类型是从body读取的,这就是为什么你得到null。将您的操作签名更改为 public IEnumerable<Users> Get([FromUri]MyApiParameters parameters) 如果你想要模型绑定器从querystring拉模型。 您可以阅读更多关于Web API如何参数绑定在Mike Stall从MSFT – http://blogs.msdn.com/b/jmstall/archive/2012/04/16/how-webapi-does-parameter-binding.aspx的优秀文章 (编辑:鲜蔬坊站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在mvc4 asp.net中的Razor View中的模型声明
- asp.net – 如何MSDeploy构建的网站包到一个处女IIS网站
- asp.net – MVC 4导出到CSV – 另存为对话框在Chrome和Fire
- asp.net 读取并修改config文件实现代码
- 为什么asp.net将页面包装在一个表单中?
- 如何解决.Net中冲突的程序集?
- 在asp.net中将用户变量存储在数据库与会话中
- asp.net – Razor base type / Templated Razor使用“using
- asp.net-mvc – Url.Action生成查询字符串,以任何方式生成完
- 在asp.net mvc中如何使用usercontrols来显示“岛”数据?
推荐文章
站长推荐
热点阅读