如何使用字典参数为 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)