Ich habe Java RESTFUL Web-Services mit Apache Karaf erstellt, ich benutze Swagger für API-Dokumentation.Alle Annotation sind angewendet und es läuft erfolgreich auf einzelne OSGI-Bundle mit der allgemeinen Swagger-Konfiguration (Swagger Core und Annotation jar) mit Apache Karaf im Standalone-Modus.Swagger API auf mehreren OSGI-Bundle mit Apache Karaf
Ausgabe: - Während Prahlerei auf mehrere OSGi-Bundles einsetzt, holt das Ergebnis erzeugt wird, während „/ api-docs“ auf der allerersten WSDL und gibt auch für andere WSDL sind auch zu schlagen.
Beschreibung: -
Betrachten wir, wenn ich zwei, wie unten
1) ausgesetzt Web-Services haben "http:/localhost: 8181/cxf/abc _wadl?"
2) "http:/localhost: 8181/cxf/xyz? _wadl"
Beide Web-Services sind in zwei verschiedenen OSGI-Bundles verfügbar und die gesamte Konfiguration wird in entsprechende "bluprint.xml" -Dateien geschrieben.Swagger-Kern und Swagger- Annotation de Abhängigkeiten befinden sich in der pom.xml jedes Projekts.
Wenn ich laufe Prahlerei api auf ersten WSDL dh "http:/localhost: 8181/cxf/abc/api-docs"
es das Ergebnis erfolgreich zurückgegeben aber Prahlerei auf dem zweiten WSDL dh beim Auftreffen auf. "http:/localhost: 8181/cxf/xyz/api-docs"
es ergab das gleiche Ergebnis, das ursprünglich von der ersten WSDL produziert wurde. Es hat den ersten WSDL-json zwischengespeichert und gibt immer den gleichen zurück (einige, wo er mein erstes json-Ergebnis zwischengespeichert hat).
Meine Fragen: -
1 - Gibt es eine andere Art und Weise Prahlerei API auf mehr OSGi-Bundles mit Apache Karaf zu laufen?
2 - Gibt es eine Möglichkeit, wir können das Caching mit karaf/swagger Configuration dauerhaft deaktivieren?
3 - Gibt es eine Methode, um Swagger-Cache zu löschen (die erstellt wurde, als ich einen Treffer auf http:/localhost: 8181/cxf/abc/api-docs gemacht habe), wenn Sie Swagger für die nächsten OSGI-Bundles treffen ("http:/localhost: 8181/cxf/xyz/api-docs "), so dass es die API-Annotationen erneut aufruft und mir das zwischengespeicherte Ergebnis nicht zurückgibt.
Hinweis: - Ich habe mit der Prahlerei API auf OSGi-Bundles implementiert: - https://github.com/ddragosd/jax-rs-on-karaf
Danke für Ihren Kommentar. Ich benutze die selbe Konfiguration in buleprint.xml für die Implementierung der Swagger API. Bitte schlagen Sie mir eine andere Möglichkeit vor, die swagger API in mehreren OSGI-Bundles zu implementieren. – user3459542
Also die CXF Swagger-Funktion funktioniert nicht für mehr als ein Bündel? Ich würde dies als einen Fehler betrachten. Können Sie ein Problem bei CXF dafür öffnen? –
Ich recherchierte ein bisschen mehr auf diesem ... Bitte beziehen Sie sich das unten JIRA Problem - https://issues.apache.org/jira/browse/CXF-6740 Bitte geben Sie Ihren Vorschlag. – user3459542