2017-05-19 2 views
0

Ich schreibe eine API, die von einem anderen Team in meiner Firma konsumiert wird. Das beabsichtigte Format der Antwort muss JSON sein.Verstehen, wie WebApi Ergebnisse liefert

Ich benutze WebApi, um meine API zu konstruieren. Ich frage mich, woher weiß WebApi, um auf JSON auszugeben?

Hier ist einer der Endpunkte meine API hat:

public IEnumerable<lead> GetLeadsSinceLastPoll() 
{ 
    using (var context = new MyDbContext()) 
    { 
     var leads = context.Lead.Where(q => q.eventID == AuthorizedUser.EventID && q.companyID == AuthorizedUser.CompanyID && q.dateAdded > AuthorizedUser.LastPollDate).ToList(); 
     return leads; 
    } 
} 

ich dies mit Postman am Testen und in Postman das Ergebnis ist in JSON. Ist die Antwort immer so, wenn sie vom Client-Code aufgerufen wird, oder macht Postman Magie, um sie in JSON anzuzeigen?

Antwort

0

Es ist nicht der Server, der entscheidet, welches Format zurückgegeben wird. Der Client verwendet den Accept-Header, um anzugeben, in welchem ​​Format er die Daten bevorzugt. Für XML können Sie den Server so konfigurieren, dass er entweder XmlSerializer oder DataContractSerializer verwendet.

Also, wenn Sie eine Anfrage mit dem Accept-Header als application/xml senden -> erhalten Sie XML. Wenn Sie es mit application/json senden -> erhalten Sie json.

Wenn Sie bei der Rückgabe ein bestimmtes Format erzwingen möchten, verwenden Sie IHttpActionResult oder ähnliches. Weitere Informationen finden Sie unter here.

Verwandte Themen