我创建了一个类,用于发送排序和分页信息以应用于我的大型集合。我有一个.NET Core Web API服务将接收请求并将我的对象作为输入
然而,在生成的swagger文档中,它们只显示为属性名称本身,这在我的属性命名为
以下是我的类,其中使用了
FromQuery
。我想遵守某些命名约定(即Microsoft Rest API Guidelines),例如参数名称$orderby
,$top
,$skip
等,并使用JsonProperty
注释类的属性。然而,在生成的swagger文档中,它们只显示为属性名称本身,这在我的属性命名为
Take
但请求参数应该是$top
的情况下可能会出现问题。我希望生成的文档与之匹配,以不会对API的使用者造成困惑。我阅读的所有内容似乎都表明这应该可以正常工作,但我不知道为什么我的不行。以下是我的类,其中使用了
Newtonsoft.Json.JsonPropertyAttribute
进行注释:[JsonObject]
public class QueryParams {
[JsonProperty( "$orderBy" )]
public string OrderBy { get; set; }
[JsonProperty( "$skip" )]
public int? Skip { get; set; }
[JsonProperty( "$top" )]
public int? Take { get; set; }
[JsonProperty( "$maxpagesize" )]
public int? MaxPageSize { get; set; }
[JsonProperty( "$count" )]
public bool? IncludeCount { get; set; }
}
例如,我的Web API动作方法将类似于这样
[HttpGet( "type/{type}" )]
public async Task<IActionResult> GetByType(
string type,
[FromQuery]QueryParams parameters )
{
/* ... */
}
我已经尝试了几种方法,比如尝试使用在为特定类型覆盖模式中提到的MapType
,但是一直没有成功。非常感谢任何人能够提供关于此事的见解。
FromQuery
确实有效,并使用实际的“Name”。谢谢。 - Scott