So erstellen Sie eine Dokumentation für Restful-Dienste in einer Micro-Service-Architektur (HAL, ALPS)

9

Ich habe viel darüber gelesen, wie man Microservices richtig einrichtet, und ich habe mit einigen der neueren Konzepte aufgehört, darunter: HAL, ALPS und der HAL-Browser. Ich habe historisch Sachen dokumentiert, die Swagger UI verwenden, jedoch verstehe ich, dass URL-Zentrik nicht der richtige Weg ist, und ich sollte Dokumentation um Ressourcen und Links organisieren, wofür die neueren Technologien da sind. Ich habe einige Wissenslücken zu diesen neueren Konzepten, also wollte ich ein richtiges Verständnis davon bekommen, wie diese Technologien zusammenwirken, so dass ich jedes einzelne davon lernen kann, das ich in das Puzzle einbauen kann.

Mein derzeitiges Verständnis ist:

HAL - Ein zusätzliches Format oben auf JSON, mit dem Sie über Links durch Ihre API navigieren können.

ALPS - Es ist ein zusätzliches Format über JSON, mit dem ich englischsprachige Beschreibungen zur Beschreibung meiner Ressourcen bereitstellen kann

HAL Browser - Swagger UI-Ersatz für Ressourcen- und Link-zentrierte Dokumentation. Arbeitet mit beiden HAL und ALPS zusammen?

Wäre mein derzeitiges Verständnis dieser Technologien in einigen Bereichen korrekt oder fehlt es ihnen? Auch bei der Implementierung verstehe ich nicht vollständig, wie ALPS und HAL miteinander interagieren. Ich kannte ein Hal + JSON-Format und ein Alpen + JSON-Format, aber ich habe kein Hal + Alps + JSON-Format gesehen.

Der letzte Bereich, den ich aufklären möchte, ist, wie ich diese Ressourcen aufdecken sollte. In der Regel hatte ich immer einen Fokus auf sehr schlanke JSON-Nachrichten sendet die Hal + JSON-Format um die erwartete oder sollte ich diese Endpunkte an einer anderen URL speziell für Dokumentation ähnlich wie Swagger / HAL-Browser hosten?

    
Matthew Fontana 18.06.2016, 12:39
quelle

2 Antworten

3

Kumpel! seine Hölle von Informationen, die Sie versuchen, hier wahrzunehmen. Lassen Sie mich versuchen, in Schritten zu erklären.

Dokumentationszentrisch bedeutet Übergänge zwischen den Diensten und Ja, es sollte als semantische Freigabe von Informationen (oder Verständnis als Datentypen) im Web bezeichnet werden.

Schritt: 1 Protokolle (http), die für Dienste mit Datentypen Metadaten und Standarddatentypen verwendet werden, können jede Form von Hypermedia sein, d. H. HTML, XML, JSON, HAL usw. Zum Beispiel JSON unten gezeigt, das ist ein Root-Dokument mit Links. Sowohl "Todos" als auch "Profil" sind nur Hypermedia-Links, die auf HAL basieren, und HAL erweitert nur Ihre aktuellen APIs.

%Vor%

Beachten Sie, dass es nur Links zu möglichen Ressourcenverknüpfungen gibt, die auf Semantiken von Ressourcen verweisen können. Der Hauptfokus von HAL besteht darin, Ressourcen / Vorlagen entweder durch Links, Eigenschaften und / oder Einbettung zu verknüpfen. Bei den oben erläuterten Beträgen handelt es sich in erster Linie um freigegebene Datentypen auf Protokollebene.

Schritt: 2 ALPS sind die Application Level Affordances, die in obigem JSON bedeuten, dass ich weiß, was der Todo ist, aber wie man damit umgehen kann? Um mit Todo interagieren zu können, müssen Statusübergänge auf Anwendungsebene vorhanden sein. Betrachten Sie unter dem 'todo' JSON, der vom Link navigierte und detaillierte zusätzliche Schlüsselwörter wie 'Deskriptoren' und 'Typ' (SEMANTIC, SAFE, UNSAFE, etc) anzeigt.

'id' Eigenschaften werden Repräsentationsbezeichner. Diese sind festgelegt oder Regeln, um unabhängige ALPS-Status und Übergänge anzuwenden.

%Vor%

Einige Links sind es wert, Slides über ALPS zu überprüfen und Ruhe Beispiel . Hoffe, das hat dir beim Verstehen geholfen.

    
AHashmi 27.06.2016, 21:44
quelle
0

Ich habe Swagger API Dokumentation URL in jedem Mikro-Dienste selbst. Beispiel: Ссылка . Ich habe ALPS nicht benutzt. Darüber hinaus denke ich nicht, dass du das tun musst oder du kannst nur HAL-Arten von Dingen speziell aufdecken, weil diese mit Antwortdaten verbunden sind. Anyway HAL expose to Benutzer in Swagger als Beispiel Anfrage Körper und mit Antwort json rechts

    
Harshana 26.06.2016 18:18
quelle