【问题标题】:How to post string array using POSTMAN?如何使用 POSTMAN 发布字符串数组?
【发布时间】:2017-02-01 16:46:47
【问题描述】:

我正在使用 Postman 将字符串数组发送到 Web API。 Web API 方法如下所示:

[HttpPost]
public async Task<IEnumerable<DocumentDTO>> GetDocuments([FromBody]IEnumerable<string> documentNames)
{
    return await _service.GetDocuments(documentNames);
}

我在SO post 看到了如何使用 Postman 发送数组。这是我发送数组的方式:

Fiddler 显示请求的内容类型是multipart/form-data;

但我收到错误响应:

{ "Message": "请求实体的媒体类型 'multipart/form-data' 此资源不支持。", "ExceptionMessage": "否 MediaTypeFormatter 可用于读取类型的对象 'IEnumerable1' from content with media type 'multipart/form-data'.", "ExceptionType": "System.Net.Http.UnsupportedMediaTypeException",
"StackTrace": " at System.Net.Http.HttpContentExtensions.ReadAsAsync[T](HttpContent content, Type type, IEnumerable
1 格式化程序,IFormatterLogger formatterLogger, CancellationToken cancelToken)\r\n at System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync(HttpRequestMessage 请求,类型类型,IEnumerable`1 格式化程序,IFormatterLogger formatterLogger, CancellationToken cancelToken)" }

我尝试将密钥设置为documentNames,documentNames[],documentNames[0]

我尝试将正文选择为x-www-form-urlencoded。当我这样做时,API 会收到一个空集合。

我已尝试将正文选择为raw。当我这样做时,API 接收 null 作为参数。

问题

  1. 如何使用表单数据发送字符串数组?
  2. 如何使用x-www-form-urlencoded 发送字符串数组?
  3. 如何将字符串数组作为原始 JSON 发送?

【问题讨论】:

    标签: c# asp.net-web-api postman


    【解决方案1】:

    将其作为 JSON 数组传递并选择raw 选项,如下所示

    对于 API 方法签名

        public void Post([FromBody] IEnumerable<string> value)
        {
          //some processing
        }
    

    【讨论】:

    • 谢谢,我对复杂对象列表使用了相同的想法,对我来说效果很好
    • 太简单了,我折腾了这么久。令我惊讶的是,请求处理程序无法识别将其作为 { value:[1,2,3] } 传递。
    【解决方案2】:

    如果你想通过参数初始化一个数组,你可以这样做。

    使用具有相同名称的variable

    【讨论】:

      【解决方案3】:

      在表单中使用相同的键记得添加 [] 就可以了

      【讨论】:

      • adding[] 有效,特别是当我们 json_encode 将其保存为数据库中的字符串时。如果你这样做 categories[0] / categories[1] 它将创建键值对并且到达服务器的值不会在单个数组中
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-06
      • 2021-03-06
      • 2018-03-31
      • 2020-06-19
      相关资源
      最近更新 更多