Skip to content

gs_rest_lists.php

URL zum Abruf von Einzelobjekten per ID.

Aufruf per URL

<!-- Beispiele für Personen -->
http://localhost/gris/api/v1/de/list/person/alpha
http://localhost/gris/api/v1/de/list/person/h
http://localhost/gris/api/v1/de/list/person/a/full
http://localhost/gris/api/v1/de/list/person/full

<!-- Beispiele für Ressourcen -->
http://localhost/gris/api/v1/de/list/resource/full
http://localhost/gris/api/v1/de/list/resource/2012
http://localhost/gris/api/v1/de/list/resource/2012-2014
http://localhost/gris/api/v1/de/list/resource/2012/full
http://localhost/gris/api/v1/de/list/resource/2022/units/[63,65,66,67]
http://localhost/gris/api/v1/de/list/resource/2022-2023/units/[63,65,66,67]
http://localhost/gris/api/v1/de/list/resource/2022/full/units/[63,65,66,67]

<!-- Beispiele für Projekte -->
http://localhost/gris/api/v1/de/list/project
http://localhost/gris/api/v1/de/list/project?active=-1
http://localhost/gris/api/v1/de/list/project//full?active=-1
http://localhost/gris/api/v1/de/list/project/2018-2019

Personen

Alle Personen in GRIS können entweder komplett oder nur für einen bestimmten Buchstaben ausgegeben werden. Der Parameter alpha gibt eine Liste aller Anfangsbuchstaben aus, zu denen Nachnamen in der Datenbank existieren.

Ergebnis lang filter param GET-Parameter Beispiel für URL-Part
Alle Anfangsbuchstaben der Personen de|en alpha de/list/person/alpha
Alle Personen ID-s [null] [null] full
Alle Personen de/list/person//full
Alle Personen-Ids, die mit [a] beginnen a-z""* de/list/person/a
Alle Personen, die mit [a] beginnen de/list/person/a/full

Ressourcen

Alle Ressourcen in GRIS können ebenfalls komplett oder mit zusätzlichem Parameter für das Jahr (vier Ziffern) ausgegeben werden. Eine Filterung bestimmter Organisationseinheiten wird über den Parameter unit aktiviert, dem ein JSON-Array mit den gewünschten Unit-IDs folgt. Eine einzelne Unit wird ohne Zusatz in eckigen Klammern angegeben [61], mehrere Units kommagetrennt [61,62,63].

Ergebnis lang filter param GET-Parameter Beispiel für URL-Part
Alle Resourcen-IDs de|en [null] [null] full
Alle Ressourcen de/list/resource/full
Alle Ressourcen-IDs von 2019 1900-2099 de/list/resource/2019
Alle Ressourcen von 2019 de/list/resource/2019/full
Alle Resourcen-IDs von 2019 für bestimmte Units de/list/resource/2019/units/[63]
Alle Ressourcen von 2019 für bestimmte Units de/list/resource/2019/full/units/[63]

Projekte

Die Projekte können komplett ausgegeben werden oder nach Anfangsbuchstabe. Analog zu den Personen gibt es für die Projekte auch den Parameter alpha, der eine Buchstabenliste ausgibt. Der GET-Parameter active=0 ist per Default gesetzt und muss nicht explizit angegeben werden.

Ergebnis lang filter param GET-Parameter Beispiel für URL-Part
Alle Projekt-Ids de|en [null] [null] full active=-1
Alle aktiven Projekt-Ids de/list/project/?active=1
Alle inaktiven Projekt-Ids de/list/project/?active=-1
Alle Projekte de/list/project/full
Alle aktiven Projekte de/list/project/full?active=1
Alle inaktiven Projekte de/list/project/full?active=-1
Alle Projekt-IDs mit Anfangsbuchstabe [s] a-z""* active=-1 active=0
Alle aktiven Projekt-IDs mit Anfangsbuchstabe [s] de/list/project/s?active=1
Alle inaktiven Projekt-IDs mit Anfangsbuchstabe [s] de/list/project/s?active=-1
Alle Projekte mit Anfangsbuchstabe [s] de/list/project/s/full
Alle aktiven Projekte mit Anfangsbuchstabe [s] de/list/project/s/full?active=1
Alle inaktiven Projekte mit Anfangsbuchstabe [s] de/list/project/s/full?active=-1
Anfangsbuchstaben aller Projekte alpha active=-1 active=0
Anfangsbuchstaben aller aktiven Projekte de/list/project/alpha?active=-1
Anfangsbuchstaben aller inaktiven Projekte de/list/project/alpha?active=1
Alle Projekt-Ids, die im Jahr 2020 aktiv waren 1900-2099 [null] full [null]
Alle Projekte, die im Jahr 2020 aktiv waren de/list/project/2020/full

Rewrite Regeln

Blöcke:

  • Sprache: (de|en)
  • Typ: list
  • Objekt: (person|project|resource)
  • Filter (Alle Anfangsbuchstaben, Buchstabe, Jahr, Zeitraum): ((alpha|[\p{L&}]{1}|[ØÆÅæøå]+|(19|d{2}(-(19|20)\d{2})?)|\d{2})?)|)/)
  • Ausgabe: (full)
  • Units: (units/[[,0-9]+])
# Rules for lists
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(de|en)\/list\/(person|project|resource)((\/(alpha|[a-zA-Z\"\*\\]{1}|(19|20)\d{2}))|\/)?(\/(full))?$ gs_rest_lists.php?lang=$1&type=$2&filter=$5&param=$8&%{QUERY_STRING} [NC,L]

Parameter

Beschreibung Name Wertebereich Anmerkungen
Sprache lang de | en Übersetzungen müssen vorhanden sein. Ansonsten wird de als Fallback ausgegeben.
Objekttyp type person | project | resource
Filter filter alpha oder a-z Alle vorkommenden Anfangsbuchstaben als Liste oder alle Objekte mit dem jeweiligen Anfangsbuchstaben
Vollanzeige param full Anzeige der vollständigen Daten (nicht nur deren IDs)
GET-Parameter active -1, 0, 1 Anzeige der aktiven Objekte (nur bei Projekten)

Methoden

GET

Antwort

Antwort für Alphabet (/alpha)

{
  "message": "SUCCESS GET",
  "data": [
    "A",
    "B",
    "C",
    "D",
    "...",
    "Y",
    "Z"
  ]
}

Antwort für ID-Listen

{
  "message": "SUCCESS GET",
  "data": [
    "2053",
    "2054",
    "2371",
    "...",
    "5143",
    "5875",
    "5876",
    "9530"
  ]
}

Antwort für Vollanzeige (Beispiel Projekte)

{
  "message": "SUCCESS GET",
  "data": {
    "119": {
      "gris_project_show": "1",
      "gris_project_type": "Drittmittelprojekt",
      "gris_project_sponsor": "DFG",
      "gris_project_code": "XYZ",
      "gris_project_title": "...",
      ...
    },
    "139": {
      ...
    }
    ...
    "4711": {
      ...
    }
  }  
}

PUT

Nicht verfügbar

POST

Nicht verfügbar

DELETE

Nicht verfügbar