I'm using Web API model binding to parse query parameters from a URL. For example, here is a model class:
public class QueryParameters
{
[Required]
public string Cap { get; set; }
[Required]
public string Id { get; set; }
}
This works fine when I call something like /api/values/5?cap=somecap&id=1
.
Is there some way I can change the name of the property in the model class but keep the query parameter name the same - for example:
public class QueryParameters
{
[Required]
public string Capability { get; set; }
[Required]
public string Id { get; set; }
}
I thought adding [Display(Name="cap")]
to the Capability
property would work, but it doesn't. Is there some type of data annotation I should use?
The controller would be have a method that looked like this:
public IHttpActionResult GetValue([FromUri]QueryParameters param)
{
// Do Something with param.Cap and param.id
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…