API FlashCard Workshop jest przeznaczone do zarządzania zestawami fiszek oraz pojedynczymi fiszkami, umożliwiając użytkownikom ich tworzenie, pobieranie, aktualizowanie i usuwanie. API obejmuje również funkcje oznaczania fiszek jako znane/nieznane oraz pobierania fiszek do nauki.
API powinno być dostępne pod adresem http://localhost:8000/api/.
GET /flash-card-sets/
Odpowiedź:
[
{
"id": 1,
"title": "Przykładowy zestaw",
"flashcardCount": 0
}
]POST /flash-card-sets/
Treść żądania:
{
"title": "Nowy zestaw"
}Odpowiedź:
{
"id": 1,
"title": "Nowy zestaw",
"flashcardCount": 0
}GET /flash-card-sets/{flash_card_set_pk}/flash-cards/
Odpowiedź:
[
{
"id": 1,
"question": "Co to jest API?",
"answer": "Interfejs programowania aplikacji",
"flashcard_set": 1
}
]POST /flash-card-sets/{flash_card_set_pk}/flash-cards/
Treść żądania:
{
"question": "Co to jest REST?",
"answer": "Representational State Transfer",
"flashcard_set": 1
}Odpowiedź:
{
"id": 2,
"question": "Co to jest REST?",
"answer": "Representational State Transfer",
"flashcard_set": 1
}GET /flash-card-sets/{flash_card_set_pk}/flash-cards/{id}/
Odpowiedź:
{
"id": 1,
"question": "Co to jest API?",
"answer": "Interfejs programowania aplikacji",
"flashcard_set": 1
}PUT /flash-card-sets/{flash_card_set_pk}/flash-cards/{id}/
Treść żądania:
{
"question": "Zaktualizowane pytanie",
"answer": "Zaktualizowana odpowiedź",
"flashcard_set": 1
}Odpowiedź:
{
"id": 1,
"question": "Zaktualizowane pytanie",
"answer": "Zaktualizowana odpowiedź",
"flashcard_set": 1
}PATCH /flash-card-sets/{flash_card_set_pk}/flash-cards/{id}/
Treść żądania:
{
"answer": "Nowa odpowiedź"
}Odpowiedź:
{
"id": 1,
"question": "Co to jest API?",
"answer": "Nowa odpowiedź",
"flashcard_set": 1
}DELETE /flash-card-sets/{flash_card_set_pk}/flash-cards/{id}/
POST /flash-card-sets/{flash_card_set_pk}/flash-cards/{id}/mark-as-known/
Treść żądania:
{
"user": "nazwa_użytkownika"
}POST /flash-card-sets/{flash_card_set_pk}/flash-cards/{id}/mark-as-unknown/
Treść żądania:
{
"user": "nazwa_użytkownika"
}GET /flash-card-sets/{id}/learn/?user={username}
Odpowiedź:
[
{
"id": 5,
"question": "Co to jest REST?",
"answer": "Representational State Transfer",
"flashcardSet": 2
}
]