REST-Endpunkte in Liberty bereitstellen

Sie können das REST-Handler-Framework in der Liberty-SPI verwenden, um neue REST-Endpunkte bereitzustellen.

Informationen zu diesem Vorgang

Das REST-Handler-Framework soll von Liberty-Erweiterungen verwendet werden, wenn neue REST-Endpunkte bereitgestellt werden. Sie können REST-Endpunkte in einer OSGi-Komponente oder einer Komponentengruppe bereitstellen.

Vorgehensweise

  1. Erstellen Sie eine OSGi-Komponente, die sich selbst als an einem Unterstammverzeichnis, das an /ibm/api angehängt wird, empfangsbereit registriert und die Schnittstelle com.ibm.wsspi.rest.handler.RESTHandler implementiert. Beispiel:
    @Component(service = { RESTHandler.class },
               configurationPolicy = ConfigurationPolicy.IGNORE,
               immediate = true,
               property = { "service.vendor=IBM",
                            RESTHandler.PROPERTY_REST_HANDLER_ROOT + "=/myTest/abc" })
    public class RESTHANDLERTest1 implements RESTHandler {
    ...
  2. Packen Sie die Komponente in ein OSGi-Bundle, das Bestandteil Ihres erweiterten Benutzerfeatures ist.
  3. Stellen Sie sicher, dass Ihr Feature den OSGi-Subsysteminhalt einschließt:
    com.ibm.websphere.appserver.restHandler-1.0; type="osgi.subsystem.feature"
  4. Konfigurieren Sie SSL-Zertifikate in der Datei server.xml.
  5. Konfigurieren Sie einen Benutzer oder eine Gruppe mit der Administratorrolle in der Datei server.xml.
    Anmerkung: Ein Benutzer ohne Administratorberechtigung kann auf den REST-Endpunkt nur zugreifen, wenn die OSGi-Eigenschaft com.ibm.wsspi.rest.handler.RESTHandler.PROPERTY_REST_HANDLER_CUSTOM_SECURITY in der REST-Handlerdefinition auf true gesetzt ist.
  6. Starten Sie Ihr Feature.

    Mit dem Feature wird das REST-Handler-Framework gestartet und Ihre OSGi-Komponente wird registriert. Nachdem das Feature gestartet wurde, können Sie Aufrufe an https://<Host>:<HTTPS-Port>/ibm/api/myTest/abc absetzen.


Symbol das den Typ des Artikels anzeigt. Taskartikel

Dateiname: twlp_expose_rest_endpoints.html