如何使用字典参数为 GET 请求创建正确的帮助页面?
How to create correct HELP page for GET request with Dictionary parameters?
我的 API 控制器中有一个搜索方法。这是一个 GET 请求,输入参数为 Dictionary keyValuePairs。
代码是这样的。
[Route("Search")]
[HttpGet]
public IHttpActionResult Search( Dictionary<string, string> keyValuePairs)
{
IDictionary<string, object> resultDict = new Dictionary<string, object>();
var keyValueParameters = this.Url.Request.GetQueryNameValuePairs();
//Do bunch of things with keyValueParameters and fill up resultDict
return Ok(resultDict);
}
帮助页面如下。
您可以在请求信息中看到正文参数但在响应信息中看不到的地方。 GET 不应该是其他方式吗?
我确定我需要以不同的方式处理这个涉及到的字典但无法弄清楚。
Helper 页面似乎使用了非常常见的 ApiExplorer 包。我自己没有尝试过,但您可以在您的代码中添加类似这样的内容,以使其了解那里的正确响应是什么:
[ProducesResponseType(type: typeof(IDictionary<string, object>), statusCode: StatusCodes.Status200OK)]
public IHttpActionResult Search( Dictionary<string, string> keyValuePairs)
我的 API 控制器中有一个搜索方法。这是一个 GET 请求,输入参数为 Dictionary keyValuePairs。
代码是这样的。
[Route("Search")]
[HttpGet]
public IHttpActionResult Search( Dictionary<string, string> keyValuePairs)
{
IDictionary<string, object> resultDict = new Dictionary<string, object>();
var keyValueParameters = this.Url.Request.GetQueryNameValuePairs();
//Do bunch of things with keyValueParameters and fill up resultDict
return Ok(resultDict);
}
帮助页面如下。
Helper 页面似乎使用了非常常见的 ApiExplorer 包。我自己没有尝试过,但您可以在您的代码中添加类似这样的内容,以使其了解那里的正确响应是什么:
[ProducesResponseType(type: typeof(IDictionary<string, object>), statusCode: StatusCodes.Status200OK)]
public IHttpActionResult Search( Dictionary<string, string> keyValuePairs)