Wie übergeben Objekt RESTful Service mit GET-Anforderung?
Habe ich einige Beiträge in stackoverflow sagen "senden Liste der Elemente, die in der GET-Methode ist NICHT erlaubt. Es muss erreicht werden, die via POST-Methode, nur"
Mein code sieht wie
[OperationContract]
[WebGet(UriTemplate = "Employee/{emp}",RequestFormat=WebMessageFormat.Json)]
Employee GetEmpDetails(string emp);
und meinen input json Objekt "{'id':1,'name':'test',....}
Gibt es eine alternative Art und Weise der Erreichung dieses Problem.
Dank
- was macht Sie denken, du wirst eine andere Antwort bekommen?
- Ich bin auch versucht, zu übergeben C# - Objekt, um meine Get-Methode
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es möglich, zu senden, die Liste der Elemente mit GET, es ist nur so, dass out of the box nur primitive Werte unterstützt. String-Werten, die einfach gut funktionieren, aber wenn Sie übergeben möchten ein Komplexes Objekt, müssen Sie erstellen eine benutzerdefinierte
QueryStringConverter
. Die post an http://blogs.msdn.com/b/carlosfigueira/archive/2011/08/09/wcf-extensibility-querystringconverter.aspx erklärt, wie dies getan werden kann.Wenn Sie Ihren Dienst Erholsamen, werden Sie wahrscheinlich verwenden, werden HTTP PUT für Add-Methode und HTTP-POST für die Update-Methode. Es ist absolut ok, pass-Objekt diese Methoden, weil objet wird Teil von HTTP-request-Körper, die nicht Teil der URI. URI ist wichtig für die HTTP-GET-Anfragen. HTTP-GET-Anfragen sollten nur für den Datenabruf nicht für die Modifikation der Daten.
Mischen Sie auf HTTP GET/POST/... - Anforderungen und REST GET/POST/PUT/DELETE/...
Wenn Sie wollen, Wunsch etwas Erholsam - Sie eine GET-Anforderung. In Ihrem Fall denke ich, sollte es so Aussehen
oder
Bitte beachten Sie auch, dass die Verwendung von Kleinbuchstaben in der URI ist vorzuziehen.
Wenn Sie mehrere BEKOMMEN Kriterien, denke ich, könnte es so Aussehen: