API

Obecné informace

Přístup k API

Toto API umžňuje zdobit vánoční strom. Každý vánoční strom má svůj identifikátor, který jej jednoznačně identifikuje. Identifikátor se zobrazuje v pravém horním rohu scény. Ten je potom potřeba pro vykonávání všech api dotazů.

Základní URL:

Aplikace umoňuje buď standardní HTTP REST API přístup a nebo umožňuje také přístup, kde jsou všechny metody realizovány pouze skrze metodu GET. Tento přístup je užitečný pro testování, popřípadě pro možnost přímé manuální realizace příkazu skrze prohlížeč. Pro tento režim platí, že všechny parametry je potřeba předat skrze query string (tj. get parametry v url) Ke spuštění v tomto režimu je potřeba splnit tyto podmínky:
  • pouze metoda GET
  • parametr method obsahuje reálnou metodu
  • pokud má mít požadavek tělo, všechny parametry těla jsou předány jako query string
Například, požadavek:
PUT /DDAHULR3/gifts
s tělem
{
    "color": "green",
    "label": "Jan"
}
jde také realizovat jako:
GET /DDAHULR3/gifts?method=PUT&color=green&label=Jan

Barvy

Kdekoliv se zadávají barvy, je možné barvy udávat dvěma způsoby:
  1. celým číslem v rozsahu 0 – 15
  2. názvem pomocí následující tabulky

Barvy

black černá
red červená
green zelená
yellow žlutá
blue modrá
magenta fialová
cyan tyrkysová
gray šedá
lightgray světle šedá
lightred světle červená
lightgreen světle zelená
lightyellow světle žlutá
lightblue modrá
lightmagenta světle fialová
lightcyan světle tyrkysová
white bílá
default bez uvedení barvy (výchozí barva)

Hvězda

GET /{tree}/star

Vrať informace o hvězdě na stromku.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

{
    "exists": true,
    "color": "red"
}

PUT /{tree}/star

Ozdob stromek hvězdou.

Parametry

{tree} - id vánočního stromku

Proměnné požadavku

color - Barva hvězdy

Tělo požadavku

{
    "color": "blue"
}

Tělo odpovědi

{
    "success": true
}

DELETE /{tree}/star

Sundej ze stromku hvězdu.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

{
    "success": true
}

Řetězy

GET /{tree}/chains

Vrať informace o řetězu na stromku.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

[
    {
        "id": 0,
        "exists": true,
        "color": "default"
    },
    {
        "id": 1,
        "exists": true,
        "color": "yellow"
    },
    {
        "id": 2,
        "exists": true,
        "color": "yellow"
    },
    {
        "id": 3,
        "exists": true,
        "color": "yellow"
    },
    {
        "id": 4,
        "exists": true,
        "color": "yellow"
    },
    {
        "id": 5,
        "exists": true,
        "color": "red"
    },
    {
        "id": 6,
        "exists": false
    }
]

GET /{tree}/chains/{part}

Vrať informace o části řetězu na stromku.

Parametry

{tree} - id vánočního stromku
{part} - Pořadové číslo části řetězu.

Tělo odpovědi

{
    "id": 2,
    "exists": true,
    "color": "yellow"
}

PUT /{tree}/chains

Ozdob stromek řetězem (všechny části řetězu najednou).

Parametry

{tree} - id vánočního stromku

Proměnné požadavku

color - Barva řetězu

Tělo požadavku

{
    "color": "green"
}

Tělo odpovědi

{
    "success": true
}

PUT /{tree}/chains/{part}

Ozdob stromek řetězem (jednu konkrétní část řetězu).

Parametry

{tree} - id vánočního stromku
{part} - Pořadové číslo části řetězu.

Proměnné požadavku

color - Barva řetězu

Tělo požadavku

{
    "color": "green"
}

Tělo odpovědi

{
    "success": true
}

DELETE /{tree}/chains

Sundej ze stromku celý řetěz.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

{
    "success": true
}

DELETE /{tree}/chains/{part}

Sundej ze stromku část řetězu.

Parametry

{tree} - id vánočního stromku
{part} - Pořadové číslo části řetězu.

Tělo odpovědi

{
    "success": true
}

Skleněné koule

GET /{tree}/glass-balls

Vrať informace o skleněných koulích na stromku.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

[
    {
        "id": 0,
        "exists": true,
        "color": "default"
    },
    {
        "id": 1,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 2,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 3,
        "exists": true,
        "color": "white"
    },
    {
        "id": 4,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 5,
        "exists": true,
        "color": "white"
    },
    {
        "id": 6,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 7,
        "exists": false
    }
]

GET /{tree}/glass-balls/{part}

Vrať informace o jedné skleněné kouli na stromku.

Parametry

{tree} - id vánočního stromku
{part} - Pořadové číslo skleněné koule.

Tělo odpovědi

{
    "id": 2,
    "exists": true,
    "color": "yellow"
}

PUT /{tree}/glass-balls

Ozdob stromek skleněnými koulemi (všechny koule).

Parametry

{tree} - id vánočního stromku

Proměnné požadavku

color - Barva skleněné koule

Tělo požadavku

{
    "color": "green"
}

Tělo odpovědi

{
    "success": true
}

PUT /{tree}/glass-balls/{part}

Ozdob stromek skleněnou koulí (jednu).

Parametry

{tree} - id vánočního stromku
{part} - Pořadové číslo skleněné koule.

Proměnné požadavku

color - Barva skleněné koule

Tělo požadavku

{
    "color": "green"
}

Tělo odpovědi

{
    "success": true
}

DELETE /{tree}/glass-balls

Sundej ze stromku všechny skleněné koule.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

{
    "success": true
}

DELETE /{tree}/glass-balls/{part}

Sundej ze stromku jednu skleněnou kouli.

Parametry

{tree} - id vánočního stromku
{part} - Pořadové číslo skleněné koule.

Tělo odpovědi

{
    "success": true
}

Sladkosti

GET /{tree}/sweets

Vrať informace o sladkostech na stromku.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

[
    {
        "id": 0,
        "exists": true,
        "color": "default"
    },
    {
        "id": 1,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 2,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 3,
        "exists": true,
        "color": "white"
    },
    {
        "id": 4,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 5,
        "exists": true,
        "color": "white"
    },
    {
        "id": 6,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 7,
        "exists": false
    }
]

GET /{tree}/sweets/{part}

Vrať informace o jedné sladkosti na stromku.

Parametry

{tree} - id vánočního stromku
{part} - Pořadové číslo sladkosti.

Tělo odpovědi

{
    "id": 2,
    "exists": true,
    "color": "yellow"
}

PUT /{tree}/sweets

Ozdob stromek sladkostmi (všechny sladkosti).

Parametry

{tree} - id vánočního stromku

Proměnné požadavku

color - Barva sladkosti

Tělo požadavku

{
    "color": "green"
}

Tělo odpovědi

{
    "success": true
}

PUT /{tree}/sweets/{part}

Ozdob stromek sladkostí (jednu).

Parametry

{tree} - id vánočního stromku
{part} - Pořadové číslo sladkosti.

Proměnné požadavku

color - Barva sladkosti

Tělo požadavku

{
    "color": "green"
}

Tělo odpovědi

{
    "success": true
}

DELETE /{tree}/sweets

Sundej ze stromku všechny sladkosti.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

{
    "success": true
}

DELETE /{tree}/sweets/{part}

Sundej ze stromku jednu sladkost.

Parametry

{tree} - id vánočního stromku
{part} - Pořadové číslo sladkosti.

Tělo odpovědi

{
    "success": true
}

Svíčky (světla)

GET /{tree}/lamps

Vrať informace o svíčkách na stromku.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

[
    {
        "id": 0,
        "exists": true,
        "color": "default"
    },
    {
        "id": 1,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 2,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 3,
        "exists": true,
        "color": "white"
    },
    {
        "id": 4,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 5,
        "exists": false
    }
]

GET /{tree}/lamps/{part}

Vrať informace o jednom páru svíček na stromku.

Parametry

{tree} - id vánočního stromku
{part} - Pořadové číslo páru svíček.

Tělo odpovědi

{
    "id": 2,
    "exists": true,
    "color": "yellow"
}

PUT /{tree}/lamps

Ozdob stromek svíčkami.

Parametry

{tree} - id vánočního stromku

Proměnné požadavku

color - Barva svíček

Tělo požadavku

{
    "color": "green"
}

Tělo odpovědi

{
    "success": true
}

PUT /{tree}/lamps/{part}

Ozdob stromek jedním párem svíček.

Parametry

{tree} - id vánočního stromku
{part} - Pořadové číslo páru svíček.

Proměnné požadavku

color - Barva svíček

Tělo požadavku

{
    "color": "green"
}

Tělo odpovědi

{
    "success": true
}

DELETE /{tree}/lamps

Sundej ze stromku všechny svíčky.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

{
    "success": true
}

DELETE /{tree}/lamps/{part}

Sundej ze stromku jeden pár svíček.

Parametry

{tree} - id vánočního stromku
{part} - Pořadové číslo páru svíček.

Tělo odpovědi

{
    "success": true
}

Dary

GET /{tree}/gifts

Vrať informace o darech pod stromkem. (Pozor, id darů se průběžně mění!)

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

[
    {
        "id": 0,
        "packageColor": "red",
        "labelColor": "red",
        "label": "George"
    },
    {
        "id": 1,
        "packageColor": "blue",
        "labelColor": "blue",
        "label": "Maggie"
    },
    {
        "id": 2,
        "packageColor": "brown",
        "labelColor": "green",
        "label": "Kristina"
    },
    {
        "id": 3,
        "packageColor": "green",
        "labelColor": "white",
        "label": "Carl V."
    },
    {
        "id": 4,
        "packageColor": "white",
        "labelColor": "red",
        "label": "Anett"
    }
]

GET /{tree}/gifts/{part}

Vrať informace o jednom daru. (Pozor, id darů se průběžně mění!)

Parametry

{tree} - id vánočního stromku
{part} - Pořadové číslo daru.

Tělo odpovědi

{
    "id": 0,
    "packageColor": "red",
    "labelColor": "red",
    "label": "George"
}

PUT /{tree}/gifts

Polož dar pod stromek. (Pozor, id darů se průběžně mění!)

Parametry

{tree} - id vánočního stromku

Proměnné požadavku

color - Barva dárku
labelColor - Barva popisku na dárku
label - Popisek na dárku

Tělo požadavku

{
    "color": "green",
    "labelColor": "blue",
    "label": "Jan"
}

Tělo odpovědi

{
    "success": true
}

PUT /{tree}/gifts/{part}

Polož dar pod stromek na konkrétní pozici, vyměň dar. (Pozor, id darů se průběžně mění!)

Parametry

{tree} - id vánočního stromku
{part} - Pořadové číslo daru.

Proměnné požadavku

color - Barva dárku
labelColor - Barva popisku na dárku
label - Popisek na dárku

Tělo požadavku

{
    "color": "green",
    "labelColor": "blue",
    "label": "Jan"
}

Tělo odpovědi

{
    "success": true
}

DELETE /{tree}/gifts

Odstraň všechny dary pod stromkem.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

{
    "success": true
}

DELETE /{tree}/gifts/{part}

Odstraň jeden dar pod stromkem. (Pozor, id darů se průběžně mění!)

Parametry

{tree} - id vánočního stromku
{part} - Pořadové číslo daru.

Tělo odpovědi

{
    "success": true
}

Celá scéna

DELETE /{tree}

Vymaž celou scénu.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

{
    "success": true
}