API napisane w Graphql przy użyciu Framework-u Hot Chocolate.
Zaimplementowano:
- Query - dane do odczytu, wyszukiwanie danych.
- Mutacja – modyfikacja i zmian danych, dodawanie nowych danych.
- Subscription – oczekiwanie na zmianę lub użycie danego procesu.
Został zaimplementowany proces Autoryzacji przy użyciu JWT.
API używa do przetrzymywani danych bazę MongoDB.
Do komunikacji z bazą MongoDB jest używany sterownik: MongoDB.Driver.
Proces logowania zdarzeń jest zaimplementowany przy użyciu Nlog-a.
W api działa poprawnie filtrowanie, Paginacja, Sortowanie , Autoryzacja.
Do testowania api jest używane zintegrowany Banan cake pop zintegrowanie IDE.
Frontend jest tworzony przy użyciu: Strawberry Shake
Przykład odwolnia się do kolecji w bazie dancyh MongoDB.
Kolekcja User.
Proces logowania (pobranie dancyh z bazy porówanie, danych) i porces autoryzacji konczący sie wygenerowanie tokena JWT.
Token zawiea w sobie Role oraz Claims.
Przykład próby pobrania danych bez tokena JWT (w sekcji gdzie Jest wymuszona autoryzacja).
Został zwrócony standardowy błąd
"extensions": {
"code": "AUTH_NOT_AUTHENTICATED"
}.
Proces autoryzacji po porawnym dostarczenju token JWt w nagłówku HTTP.
Dane zostąły poprawnie pobrane.
Przykład kolekcji w bazie danych MongoDB.