gpt4 book ai didi

c# - 更改参数名称 Web Api 模型绑定(bind)

转载 作者:可可西里 更新时间:2023-11-01 07:50:48 27 4
gpt4 key购买 nike

我正在使用 Web API 模型绑定(bind)来解析来自 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 属性会起作用,但事实并非如此。我应该使用某种类型的数据注释吗?

Controller 将有一个看起来像这样的方法:

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

最佳答案

您可以使用 FromUri 绑定(bind)特性的 Name 属性来使用与方法参数不同名称的查询字符串参数。

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

/api/values/5?cap=somecap&id=1

public IHttpActionResult GetValue([FromUri(Name = "cap")] string capabilities, int id)
{
}

关于c# - 更改参数名称 Web Api 模型绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26600275/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com