我使用Web API模型绑定从URL中解析查询参数.例如,这里是一个模型类:
public class QueryParameters { [Required] public string Cap { get; set; } [Required] public string Id { get; set; } }
当我打电话给/ api / values / 5?cap = somecap& id = 1时,这可以正常工作.
有一些方法可以改变模型类中的属性名称,但是保持查询参数名称相同 – 例如:
public class QueryParameters { [Required] public string Capability { get; set; } [Required] public string Id { get; set; } }
我认为添加[Display(Name =“cap”)]到Capability属性将会起作用,但不会.我应该使用某种类型的数据注释吗?
控制器将有一个如下所示的方法:
public IHttpActionResult GetValue([FromUri]QueryParameters param) { // Do Something with param.Cap and param.id }
解决方法
您可以使用FromUri binding属性的Name属性将具有不同名称的查询字符串参数用于方法参数.
如果传递简单参数而不是QueryParameters类型,则可以绑定这样的值:
/api/values/5?cap=somecap&id=1 public IHttpActionResult GetValue([FromUri(Name = "cap")] string capabilities,int id) { }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。