如何使用POSTMAN发布字符串数组?

时间:2016-09-23 18:24:06

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

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

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

我看到这个SO post关于如何使用Postman发送数组。这是我发送数组的方式: enter image description here

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

enter image description here

但我收到错误回复:

  

{“消息”:“请求实体的媒体类型'multipart / form-data'   此资源不支持。“,”ExceptionMessage“:”否   MediaTypeFormatter可用于读取类型的对象   'IEnumerable 1' 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 cancellationToken)\ r \ n at   System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync(HttpRequestMessage   请求,类型类型,IEnumerable`1格式化程序,IFormatterLogger   formatterLogger,CancellationToken cancellationToken)“}

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

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

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

问题

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

3 个答案:

答案 0 :(得分:7)

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

enter image description here

对于API方法签名

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

答案 1 :(得分:0)

如果要通过参数遍历数组,则可以这样做。

使用具有相同名称的variable

enter image description here

答案 2 :(得分:0)

在表单中使用相同的键记得在上面加[] enter image description here