Ich habe viele SOAP-Webservices erstellt, aber ich erstelle einen REST-Webservice für ein bestimmtes Projekt, und ich frage mich, was Leute für eine WSDL für REST-Dienste verwendet haben oder ob sie überhaupt benötigt wird.Was ist die bevorzugte Methode für eine 'WSDL' für den REST-Webservice?
Antwort
Sie können versuchen Swagger (jetzt OpenAPI), die ermöglicht, REST-Dienste mit einem offenen JSON-Standard zu beschreiben.
Sie können eine XSD bereitstellen, wenn Sie XML in Ihrem REST-Service verwenden.
Oder nur Beispiele der XML, sollte ausreichen, um Dinge für einfache Datenstrukturen sowieso zu erarbeiten.
REST verwendet wirklich nur die HTTP-Verben (GET, PUT, POST, DELETE) auf einer Ressource. Alle Operationen auf einer Ressource sollen so dargestellt werden. POST wird als ein Haken für alle verwendet, wenn Sie Ihre Geschäftslogik nicht in einer Weise ausdrücken können, die in die anderen drei passt. Aus diesem Grund gibt es für einen REST-Dienst nicht wirklich eine WSDL, da Sie nur 4 Methoden für die Ressource haben. Beachten Sie, dass die REST-Bibliothek des Zend Framework nicht wirklich REST-konform ist und eher ein einfacher XML-Dienst (POX) ist.
Während Sam korrekt ist, dass REST-konforme Webanwendungen keine direkte Analogie zu WSDL benötigen, gibt es ein XML-Vokabular, das hilfreich ist, um RESTful-Webanwendungen zu beschreiben: WADL oder Web Application Description Language. In meiner Firma verwenden wir hauptsächlich WADL, um eine Spezifikation für einen bestimmten Dienst zu definieren, den wir erstellen wollen - wir verwenden ihn im Allgemeinen nicht programmatisch. Das heißt, the WADL home page enthält einige Java-Tools für die Codegenerierung und Restlet, das Java-REST-Framework, enthält eine WADL-Erweiterung für die dynamische Verdrahtung von Anwendungen auf WADL-Basis und die dynamische Generierung von WADL basierend auf einer verdrahteten Anwendung. Ich bin ein Fan von WADL und empfehle Ihnen, es zu überprüfen.
Eigentlich ist es möglich, WSDL dafür zu verwenden, aber es sollte v 2.0 sein - siehe "Describe REST Web services with WSDL 2.0" Artikel.
- 1. Was ist in Python eine bevorzugte Namenskonvention für den Backing Store einer internen Eigenschaft?
- 2. Was ist die bevorzugte Methode für ein aktualisiertes Feld in einer Tabelle?
- 3. Was ist die bevorzugte Methode zur Implementierung von hashCode()?
- 4. Was ist die äquivalente "sizeWithFont:" Methode für den Mac?
- 5. Was ist die bevorzugte Methode für das Marshalling von COM-Schnittstellen über Threads hinweg?
- 6. Bevorzugte Methode für looping Sound Flash as3
- 7. Was ist die BlockingCollection.TakeFromAny Methode nützlich für
- 8. Bevorzugte Tastaturbelegung für die Programmierung
- 9. Was ist die Methode restTemplate.exchange() für?
- 10. Was ist die Methode für diese Strecke
- 11. Was ist die bevorzugte Methode, um eine leere Zeile in einem Shell-Skript zu wiederholen?
- 12. Bevorzugte DB-Verbindung für ASP.Net
- 13. Was ist die idiomatische Methode, Caching für eine Funktion zu implementieren, die keine struct-Methode ist?
- 14. Was ist die bevorzugte dpi für Adobe Illustrator beim Entwerfen für WPF?
- 15. Was ist die beste Data-Mining-Methode für die Fahrzeugsuche?
- 16. Was ist die bevorzugte Syntax für die Initialisierung eines Diktats: geschweifte Klammerliterale {} oder die Funktion dict()?
- 17. Was ist die Standardmethode für die Methode p.adjust in R?
- 18. Was ist die bevorzugte Syntax für die Deklaration eines Arrays in VB.NET?
- 19. php soap client: wsdl vs. nicht-wsdl - was ist schneller?
- 20. Was ist die "bevorzugte" Methode zum Erstellen von Mock-Objekten für die Verwendung mit Visual Studio-Komponententests?
- 21. Was ist die Null für eine Zeichenfolge?
- 22. Hadoop DistributedCache ist veraltet - was ist die bevorzugte API?
- 23. Bevorzugte Methode zum Festlegen von Standardwerten für Nullable-Eigenschaften?
- 24. Was ist die beste Methode für Software/Web Application Testing?
- 25. Was ist die bevorzugte oder akzeptierte Methode zum Testen von Proxy-Einstellungen?
- 26. Was ist die am meisten bevorzugte Möglichkeit, C-Code für Python zu umhüllen?
- 27. Was ist die korrekte oder bevorzugte Verzeichnisstruktur für ein Zend Framework 2 Modul?
- 28. Was ist die bevorzugte Methode zum Laden von STL-Dateien in Three.js
- 29. Die Methode ist mehrdeutig für den Typ Fehler
- 30. Was ist die alternative Methode für Diag (k) in C++?
Ich denke nicht, dass die Frage über XML-Inhalt, so sehr wie die Definition der API-Vertrag und Form der ausgetauschten Daten, unabhängig von ihrer Formatierung. –