【发布时间】: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 可用于读取类型的对象 'IEnumerable
1' from content with media type 'multipart/form-data'.", "ExceptionType": "System.Net.Http.UnsupportedMediaTypeException",1 格式化程序,IFormatterLogger formatterLogger, CancellationToken cancelToken)\r\n at System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync(HttpRequestMessage 请求,类型类型,IEnumerable`1 格式化程序,IFormatterLogger formatterLogger, CancellationToken cancelToken)" }
"StackTrace": " at System.Net.Http.HttpContentExtensions.ReadAsAsync[T](HttpContent content, Type type, IEnumerable
我尝试将密钥设置为documentNames,documentNames[],documentNames[0]。
我尝试将正文选择为x-www-form-urlencoded。当我这样做时,API 会收到一个空集合。
我已尝试将正文选择为raw。当我这样做时,API 接收 null 作为参数。
问题
- 如何使用表单数据发送字符串数组?
- 如何使用
x-www-form-urlencoded发送字符串数组? - 如何将字符串数组作为原始 JSON 发送?
【问题讨论】:
标签: c# asp.net-web-api postman