API HTTP
Przejrzyste kontrakty.
Rozdzieleni odbiorcy.
Integruj przez wersjonowane moduły HTTP i odkrywaj faktyczny kontrakt na własnym wdrożeniu. API zarządcze i publiczne są rozdzielone z założenia.
| Warstwa | Kształt trasy | Przeznaczenie |
|---|---|---|
| Zarządcza | /api/<module>/v<major>/… | Operacje uwierzytelnione; w wdrożeniu witryny ruch zarządczy. |
| Publiczna | /public/api/<module>/v<major>/… | Reprezentacje dostępne anonimowo, celowo publiczne. Publiczne trasy witryny wymagają skonfigurowanego powiązania witryny. |
| Dokument API | /api/openapi.json | Kontrakt zarządczy na Twojej instancji. |
| Dokument publiczny | /public/api/openapi.json | Osobny kontrakt publiczny na Twojej instancji. |
curl --user YOUR_USER \
http://127.0.0.1:6727/api/identity/v1/me
Udokumentowane żądanie tożsamości. Ta witryna nie przechowuje żadnych poświadczeń.
| Moduł | Reprezentatywny odczyt | Zakres |
|---|---|---|
| identity/v1 | GET /api/identity/v1/me | Efektywna tożsamość wywołującego. Administracja użytkownikami i grupami jest odłożona. |
| content/v1 | GET /api/content/v1/page?path=/content/example/en/about | Zarządcza projekcja treści. Dołączana przez wdrożenie z włączoną obsługą witryn; przykładowa ścieżka musi istnieć. |
| site/v1 | GET /public/api/site/v1/page?path=/ | Publiczna projekcja względem witryny, przez skonfigurowane powiązanie dostarczania. |
Ścieżki repozytorium są parametrami zapytania.
Zarządcze API treści używa stałej trasy i parametru zapytania path, zamiast osadzać dowolną ścieżkę repozytorium w segmentach trasy URL. Publiczne ścieżki witryny są względne wobec witryny i rozwiązywane wewnątrz skonfigurowanego powiązania.
Zarządczy moduł treści dokumentuje też tworzenie na podstawie szablonu, pola merge-patch z listy dozwolonych, usuwanie i przenoszenie. Nie stosuj do tych obecnych operacji proponowanej semantyki cyklu życia strony: prywatne wersje robocze, odwracalne usuwanie stron i /api/pages/v1 należą do niezaimplementowanej propozycji cyklu życia.
Uwierzytelnianie i zapisy.
Operacje korzystają z resolvera wywołującego. Zapis klienta maszynowego bez ciasteczek, z uwierzytelnianiem Basic, musi nieść niepusty nagłówek X-Requested-With; udokumentowaną konwencją jest wartość ContentLIBRE. Zapis z ciasteczkiem sesji korzysta zamiast tego z kontraktu tokenu CSRF. /public/api nie jest zwolnione z CSRF.
Udokumentowane API nie honoruje If-Match przy zapisach warunkowych. Odrzuca ten nagłówek odpowiedzią precondition-unsupported, zamiast udawać ochronę przed utraconymi aktualizacjami. Używaj kontraktu bieżącego wdrożenia, a nie przyszłego projektu cyklu życia.
X-Requested-With: ContentLIBRE
Wyłącznie ilustracja nagłówka — to nie jest kompletne żądanie modyfikujące. Uwierzytelnianie, autoryzacja i wymagania wejściowe właściwe dla trasy nadal obowiązują.
Dokumentacja i granice błędów.
Tam, gdzie dołączono funkcję docs, Swagger UI jest hostowane lokalnie pod /api/docs/ i /public/api/docs/. To trasy na instancji ContentLIBRE, a nie na tej witrynie marketingowej. Ta witryna nie osadza konsoli ani nie łączy się z działającą instancją.
Błędy servletów API, które niosą treść, używają application/problem+json. Odmowa wygenerowana wcześniej przez uwierzytelnianie Sling lub preprocesor jądra może mieć inną treść. Odpowiedzi zarządcze są no-store; publiczne buforowanie to jawna decyzja zasobu, podlegająca strażnikowi tożsamości.
Buduj integrację wobec swojej instancji.
Potwierdź moduły w kompozycji, przeczytaj jej dokument OpenAPI i testuj z tożsamościami, których będzie używać Twoja aplikacja.