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

前端之家收集整理的这篇文章主要介绍了c# – 更改参数名称Web Api模型绑定前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用Web API模型绑定从URL中解析查询参数.例如,这里是一个模型类:
  1. public class QueryParameters
  2. {
  3. [required]
  4. public string Cap { get; set; }
  5.  
  6. [required]
  7. public string Id { get; set; }
  8. }

当我打电话给/ api / values / 5?cap = somecap& id = 1时,这可以正常工作.

有一些方法可以改变模型类中的属性名称,但是保持查询参数名称相同 – 例如:

  1. public class QueryParameters
  2. {
  3. [required]
  4. public string Capability { get; set; }
  5.  
  6. [required]
  7. public string Id { get; set; }
  8. }

我认为添加[Display(Name =“cap”)]到Capability属性将会起作用,但不会.我应该使用某种类型的数据注释吗?

控制器将有一个如下所示的方法

  1. public IHttpActionResult GetValue([FromUri]QueryParameters param)
  2. {
  3. // Do Something with param.Cap and param.id
  4. }

解决方法

您可以使用FromUri binding属性的Name属性将具有不同名称查询字符串参数用于方法参数.

如果传递简单参数而不是QueryParameters类型,则可以绑定这样的值:

  1. /api/values/5?cap=somecap&id=1
  2.  
  3. public IHttpActionResult GetValue([FromUri(Name = "cap")] string capabilities,int id)
  4. {
  5. }

猜你在找的C#相关文章