加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 更改参数名称Web Api模型绑定

发布时间:2020-12-15 18:12:45 所属栏目:百科 来源:网络整理
导读:我使用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时,这
我使用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)    
{
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读