2016-09-23 4 views
2

Ich benutze POSTMAN, um Array von String an Web-API zu senden. Die Web-API-Methode sieht wieWie schreibt man String-Arrays mit POSTMAN?

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

ich diesen SO post sah hier, wie Array senden Postbote mit. Also hier, wie ich das Array schicke enter image description here

Fiddler zeigt Anforderung des Inhaltstyp ist multipart/form-data;

enter image description here

Aber ich bin immer Fehler Antwort als

{ "message": „Die Der Medientyp der Anfrageeinheit 'multipart/form-data' wird für diese Ressource nicht unterstützt. "," ExceptionMessage ":" Nein MediaTypeFormatter ist verfügbar e ein Objekt vom Typ ‚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 Formatierer, IFormatterLogger formatterLogger, CancellationToken CancellationToken) \ r \ n bei System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync (HttpRequestMessage Anfrage, Typ Typ, IEnumerable`1 Formatierer zum Lesen , IFormatterLogger formatterLogger, CancellationToken CancellationToken)“}

habe ich versucht Schlüssel als documentNames Einstellung documentNames[], documentNames[0]
habe ich versucht Körper als x-www-form-urlencoded auswählen. Wenn ich das tue, erhält die API eine leere Sammlung.
Ich habe versucht, Körper als raw auszuwählen Wenn ich das tue, erhält API Null als Parameter.

Fragen
1> Wie sende ich String-Array form-data verwenden?
1> Wie sende ich ein String-Array mit x-www-form-urlencoded. ?
2> Wie sende ich string array als rohe json?

Antwort

6

Direkt als JSON Array und wählen Sie die Option raw wie unten

enter image description here

Für eine API-Methodensignatur

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