-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vereinfachung der Objekt API #4
Changes from 2 commits
28f2e80
f49c23f
14c9e6a
efb972c
3cf1282
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,46 +7,61 @@ wie man thesauruseintraege des berliner altaegyptischen woerterbuches abrufen un | |
|
||
- method: `GET` | ||
|
||
Man gibt die **26**-stellige (:point_up:) ID des thesauruseintrags an und bekommt eine `application/json` response folgender art: | ||
Man gibt die **26**-stellige (:point_up:) ID des thesauruseintrags an und bekommt eine | ||
`application/json` response folgender art: | ||
|
||
```json | ||
{ | ||
"children": [], | ||
"id": "CLJN6LLO5NDL7DY6HOP4XC4ELE", | ||
"name": "Butler, Cuthbert", | ||
"parents": [ | ||
"http://.../ths/get/OJDRAHAIX5BMND7OQH3TKTG4C4" | ||
], | ||
"type": "person" | ||
} | ||
``` | ||
|
||
### `/ths/get/<string:id>/<string:key>` | ||
### `/ths/get/<string:id>/<string:relation>` | ||
|
||
- method: `GET` | ||
|
||
Man gibt zusaetzlich zur **26**-stelligen (:point_up:) ID noch den namen der eigenschaft an, die man haben will. Moeglich sind `name`, `type`, `roots`, `parents`, `children`. Bei einem der letzten drei erhaelt man eine JSON response mit einer liste (ein eintrag kann mehrere wurzelelemente haben) von objekten mit jeweils `id`, `type` und `name` der verwandten thesauruseintraege. Wenn man `name` oder `type` anfragt, bekommt man eine `text/plain` response wo nur der gewuenschte inhalt drin steht. | ||
Man gibt zusaetzlich zur **26**-stelligen (:point_up:) ID noch den namen der beziehung | ||
an, deren objekte man haben will. Moeglich sind `roots`, `parents` und `children`. Man erhält | ||
eine JSON response mit einer liste (ein eintrag kann mehrere wurzelelemente haben) von URLs | ||
von objekten. | ||
|
||
```json | ||
[ | ||
"https://tla.bbaw.de/ths/get/CLJN6LLO5NDL7DY6HOP4XC4ELE", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Waere es nicht sinnvoller, hier gleich http://tladev.bbaw.de:5002/ths/get/LCMP3D4CMZDLBPCVAH6VV5LCJQ/parents [
{
"id": "SFMJKLYBONEOVPSZ5BYZEMR5OE",
"name": "Boeser, Pieter Adriaan Aart",
"type": "person"
},
{
"id": "GHGBEBH62ZFPRFF5ELA4EZTKCI",
"name": "36 = Bibliographie",
"type": "bibliography"
}
] soll ich so lassen oder echt nur URLs zurueckgeben? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. s.o. |
||
"https://tla.bbaw.de/ths/get/NDLBDCMPELEJNC4Y66FO5S4XHO", | ||
] | ||
|
||
``` | ||
|
||
|
||
### `/ths/search` | ||
|
||
- method: `POST` | ||
- method: `GET` | ||
|
||
Man sucht eintraege deren `name` feld mit dem angegebenen `term` beginnen. Das ergebnis ist eine liste von objekten, enthalten im `results`-feld der `application/json`-response. Die einzelnen results enthalten jeweils `id`, `name` und `type`. | ||
Man sucht eintraege deren `name` feld mit dem angegebenen `term` beginnen oder ihn | ||
beinhalten. Das ergebnis ist eine liste von objekten, enthalten im `results`-feld der | ||
`application/json`-response. Die einzelnen results enthalten jeweils `id`, `name` und | ||
`type`. | ||
|
||
Im body koennen/muessen folgende parameter angegeben werden: | ||
Folgende parameter müssen oder können angegeben werden: | ||
|
||
|name|range|funktion|default| | ||
|---|---|---|---| | ||
|`term`|mindestens 2 zeichen lang|suchbegriff der im `name` vorkommen soll|**required**| | ||
|`search`|`{prefix\|contains}`|ob `term` am anfang von `name` oder irgendwo steht|`prefix`| | ||
|`mode`|`{prefix\|contains}`|ob `term` am anfang von `name` oder irgendwo steht|`prefix`| | ||
|`limit`|1-50, `int`|wie viele ergebnisse maximal|`50`| | ||
funkyfuture marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|`type`|einzelner string oder liste von strings|man kriegt nur ergebnisse, deren `type` im parameter genannt ist| | ||
|`offset`| |Index des ersten Items in den Gesamtergebnissen|`0`| | ||
|`type`|liste von strings|man kriegt nur ergebnisse, deren `type` im parameter kommagetrent genannt sind|`[]`| | ||
|
||
Die ergebnisse werden alphabetisch sortiert nach `name` und auf `limit` oder `50` stueck begrenzt. Beispiel: | ||
Die ergebnisse werden alphabetisch sortiert nach `name` und auf `limit` oder `50` stueck | ||
begrenzt. Beispiel: | ||
|
||
```bash | ||
curl -XPOST -HContent-Type:application/json http://tladev.bbaw.de:5002/ths/search -d '{"term":"h","limit":5}' | ||
curl http://tladev.bbaw.de:5002/ths/search?term=ha&limit=5 | ||
funkyfuture marked this conversation as resolved.
Show resolved
Hide resolved
|
||
``` | ||
|
||
```json | ||
{ | ||
"length": 5, | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bist Du sicher dasz aufloesen von IDs direkt nach
name
undtype
nicht praktisch waere? Das wird ja jedesmal passieren wenn die GUI eine ths-ID in irgendeinem feld darstellen soll.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mein eindruck war, dass die ersten beiden endpunkte redundantes zurück liefern. also, ich kriege ne liste der kinder, inklusive type und name. im cache könnte das aber schon von einer abfrage des objekts her bekannt sein.
oder so: der zweite endpoint ist als vertiefende ergänzung des ersten zu verstehen. der use-case
type
von diesem endpunkt zu verarbeiten wäre ja wohl ein filtern. das ergänze ich mal als parameter.