PROFESSIONAL ASP.NET MVC 4:第11章 – ASP.NET Web API
“[..] complex types (everything else) are taken from the body. There is
an additional restriction as well: Only a single value can come from
the body,and that value must represent the entirety of the body.
[…]”Brad Wilson
他对这种“单一价值可以来自身体”的意思是什么? API格式化程序只能从主体中解析单个类型的对象吗?你能举例说明一下吗?
解决方法
Only a single value can come from the body
假设您有这样的请求体.
{“Id”:12345,“FirstName”:“John”,“LastName”:“West”}
您希望将此JSON绑定到类似此类型的参数.
public class Employee { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } }
动作方法可以像void Post(Employee emp).并且它不能像这样 – void Post(Employee john,Employee duplicateJohn).只有一个值可以来自身体.
and that value must represent the entirety of the body
假设你有这样的请求体.
{“Id”:12345,“LastName”:“West”}
你有两个像这样的DTO.
public class Identifier { public int Id { get; set; } } public class Name { public string FirstName { get; set; } public string LastName { get; set; } }
您不能拥有像void Post(标识符ID,名称名称)这样的操作方法,并期望将主体部分绑定到这两个参数.整体必须只绑定一个值.所以,有一个类似的
public class Employee { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } }
并将请求主体完整地绑定到一个值,如void Post(Employee emp)是允许的.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。