REST API
Seiteninhalt
Einleitung
DSpace(-CRIS) verfügt über eine umfangreiche REST API. Siehe dazu die RestContract Dokumentation:
- DSpace GitHub - DSpace/RestContract: REST Contract for DSpace 7–10
- DSpace-CRIS Erweiterungen: github.com/4Science/Rest7Contract
Basis-URLs für die ZORA Einstiegspunkte
| ZORA Produktion | https://www.zora.uzh.ch/server (/api) |
| ZORA Test (nur im UZH-Netzwerk) | https://www.zoratest.uzh.ch/server (/api) |
Architektur
Die DSpace REST API basiert auf drei sich ergänzenden Standards:
HAL (Hypertext Application Language): Jede Antwort enthält _links, die verfügbare Operationen und zugehörige Ressourcen beschreiben.
HATEOAS (Hypermedia as the Engine of Application State): Die REST API ist selbstnavigierbar: Man beginnt an der Wurzel und folgt den Links, anstatt URLs manuell zu erstellen.
ALPS (Application-Level Profile Semantics): Maschinell lesbare semantische Profile dokumentieren, was jeder Endpunkt akzeptiert und zurückgibt.
Alle Antworten liegen im JSON-Format vor. Für anonyme User ist die API schreibgeschützt; authentifizierte User können Daten mit entsprechenden Berechtigungen auch ändern.
HAL-Browser
Der HAL-Browser bietet eine interaktive, selbstdokumentierende Schnittstelle zu allen verfügbaren Endpunkten. Mit ihm lassen sich die API-Struktur erkunden und Anfragen testen, ohne Code schreiben zu müssen.
Authentifizierung
Ein API Token wird benötigt bei Benutzung der empfohlenen API Libraries und für schreibende Zugriffe, z.B. Einreichungen von Dokumenten.
Im Account-Profil muss ein Personal Access Token eingerichtet werden: Unter «Profile» bis zu «Personal Access Token» scrollen, Token erzeugen und in einen Zwischenspeicher kopieren.
Search API
Über die Search API können Metadaten als JSON zu einer ausformulierten Suchabfrage abgegriffen werden.
Dokumentation für den Einstiegspunkt zu Suchen:DSpace RestContract/search-endpoint.md
Search Endpoint: https://www.zora.uzh.ch/server/api/discover/search
Beispiel 1
Publikationen der WWF, die im 2025 hinzugefügt wurden (also auch ältere):
Parameter in diesem Beispiel:
- scope: UUID der jeweiligen Community oder Collection, die abgefragt werden muss, siehe z.B. 03 Faculty of Economics für die WWF
bzw. https://www.zora.uzh.ch/community-list für andere Communities/Collections - query: Solr query, hier auf das Feld dc.date.accessioned und Wert 2025 (alle ab 2025 akquirierten Publikationen) eingeschränkt.
Siehe Metadaten-Profil für Felder in ZORA.
Beispiel 2
Publikationen der WWF mit Publikationsjahr 2025:
Beispiel 3
Publikationen zu einer bestimmten ORCID ID:
Im Antwort-JSON sind die Daten jeweils gepaged, mit den next und last links kommt man zur nächsten bzw. letzten Seite. Mit dem size Parameter kann die Zahl der Einträge pro Seite gesteuert werden. Maximal möglich ist size=1000. Stellt man mehr ein, werden trotzdem nur 1000 Einträge pro Seite geliefert. Ebenso gibt es einen sort Parameter, siehe DSpace RestContract/search-endpoint.md
Submission API
Bitte kontaktieren Sie das ZORA IT-Team (Martin Brändle, Jens Witzel), wenn Sie Einreichungen über die DSpace REST API erstellen möchten. Es wird eine detaillierte Anleitung zugeschickt und der Test- und Implementationsprozess wird begleitet.
Gegenwärtig machen die Philosophische Fakultät und die Mathematisch-Naturwissenschaftliche Fakultät von dieser Möglichkeit Gebrauch, um Dissertationen aus ihren Verwaltungssystemen einzuspielen.