2015-12-24 14 views
12

Frühling REST Docs Swagger Vergleich wurde vor kurzem veröffentlicht und die Dokumentation sagt:Was ist der Vorteil der Verwendung von Feder REST Docs

Dieser Ansatz befreit Sie von den von Tools wie Swagger auferlegten Beschränkungen

Also, ich wollte fragen, wann Spring REST Docs vorzuziehen ist im Vergleich zu Swagger und welche Einschränkungen es gibt.

+1

Dies ist weitgehend auf der Meinung basiert, so glaube ich nicht, dass es auf Stack Overflow gehört. Möglicherweise finden Sie dies [Fragen und Antworten zu DZone] (https: // dzone.com/articles/a-qa-mit-andy-wilkinson-auf-feder-rest-docs) von Interesse sein. –

Antwort

16

ich eine Präsentation hier gerade gesehen, die unter anderen Themen auf Ihre Frage berührt:

https://www.youtube.com/watch?v=k5ncCJBarRI&t=26m58s

  • Swagger hypermedia gar nicht unterstützt/es ist URI centric

  • Swaggers Methode zur Überprüfung Ihres Codes kann hinter Ihrem Code zurückbleiben. Es ist möglich, dass Sie eine Änderung in Ihrem Code vornehmen, die Swagger nicht versteht und die nicht ordnungsgemäß verarbeitet wird, bis Swagger aktualisiert wird.

  • Swagger erfordert viele Anmerkungen, und es ist schmerzhaft, den beschreibenden Text, den Sie möchten, in ein api-Dokument in Anmerkungen einzufügen.

  • Es gibt nur einige Dinge, die Swagger bei der Überprüfung Ihres Codes nicht herausfinden kann.

In jedem Fall sind dies nur ein paar Punkte. Der Moderator macht es viel besser, als ich es diskutieren könnte.

5

Es gibt einige Einschränkungen bei Swagger und dem speziellen Federstapel.

Zum Beispiel: mit "param" in Ihrem Request Mapping können Sie mehr als eine Methode mit der gleichen URL definieren und so Ihren Code vereinfachen. Aber Prahlerei zeigen Sie nur eine Methode

+0

Vielleicht ist die Frage zu weit, aber ich denke, diese Antwort ist zu kurz für solch eine komplexe Frage. –

7

Ich dachte, ich würde hineinspielen, um ein wenig mehr Kontext um Swagger zu geben, was es ist und was es nicht ist. Ich glaube, das könnte helfen, Ihre Frage zu beantworten.

Swagger 2.0 wird von vielen großen Namen und großen Plattformen wie Microsoft Azure, Paypal, SwaggerHub.com, DynamicApis.com usw. angenommen. Etwas, das man im Auge behalten sollte, ist das Swagger is very simply a specification. Es ist kein Rahmen. Es gibt eine Menge von frameworks da draußen gebaut, um Swagger-Ausgabe zu generieren, die durch Ihren Code crawl Ihre API-Informationen zu suchen, um die Swagger 2.0 JSON-Datei, die Ihre API darstellt, zu erstellen. Die Swagger-Benutzeroberfläche, auf der Sie Ihre APIs sehen, wird direkt von dieser Swagger 2.0 JSON-Datei gesteuert. Fiedler es, check it out

Es ist wichtig, dass ein Rahmen zu beachten, die erstellt wurde, um Sie zu erlauben, „swagger zu verwenden“ ist nicht, wie Swagger zu arbeiten hat (dh es ist vollständig bis zur Umsetzung der dritten Party Rahmen). Wenn das Framework, das Sie zum Generieren Ihrer Swagger 2.0-Dokumente und UI verwenden, nicht für Sie arbeitet, sollten Sie in der Lage sein, nach einem anderen Framework zu suchen, das die Swagger-Artefakte generiert und die Technologien vertauscht.

Hoffe, das hilft.

+0

Willkommen bei SO und vielen Dank für Ihre Antwort. Haben Sie Zitate, die als Teil Ihrer Antwort enthalten sein könnten? –

+1

Danke. Ich benutze SO schon seit Jahren, habe aber erst kürzlich angefangen etwas beizutragen. Hier ist der Spezifikationsführer auf der Website von swaggers. http://swagger.io/specification. Schauen Sie sich die ersten paar Absätze an. Es gibt eine Menge Githb-Projekte, mit denen Sie auch Ihren Swagger generieren können. Ich benutze Swashbuckle, weil ich ein .Net-Typ bin. Dies ist ein gutes Beispiel dafür, wie ein Framework tatsächlich funktioniert, um die Swagger-Spezifikation zu generieren. –

+0

Bitte bearbeiten Sie den Link in Ihre Antwort :) –

Verwandte Themen