MVOP3 WBI
Bc. Matěj Cajthaml ©
Smíchovská střední průmyslová
škola a gymnázium
\r\nCo je ale tím objektem?
Objekt (object, endpoint, zdroj) je daná URL adresa, na které se data upravují. Na serveru definujeme co je za daným objektem definováno.
Jak se liší PUT, PATCH a POST?
Co ukládáme uvnitř hlaviček?
Je počet hlaviček omezen?
Hlavičky jsou vždy na novém řádku, na něm je jméno a hodnota rozdělené dvojtečkou a mezerou (: ).
Proč je metoda první částí dat?
Může HTTP předávat HTML?
Kde je nutný backend?
Co se na backendu děje?
Pokuste se API k nějaké službě najít.
https://api-ssps.cajthaml.eu
/subject/61253075a238ce375c4ade63
/grading
/user/612539031a6bab58d056b34b
Nyní víme, jak se komunikuje v HTTP.
čistýtext
rodičHTML
Jak se liší HTML a XML?
Kdy je potřeba změnit verzi API?
DevTools + Network
Jak funguje protokol HTTP? Jak vypadá komunikace?
Otevřete si nějakou stránku a podívejte se na požadavky, které probíhají. Jak vypadají data požadavků? Jaké mají metody? Nalezněte něco zajímavého.
Zkusme navrhnout API (endpointy), které slouží ke správě obsahu na webových stránkách. Tedy: příspěvky, uživatele, komentáře a další.
Zkusme navrhnout API (endpointy), které slouží ke správě obchodu (bez administrace), tedy: předměty, přihlášení, košík, objednávka a další.
Jak se liší aktuální přístup získávání stránek a AJAX?
XMLHttpRequestXMLHttpRequest
Líbí se Vám tento postup?
XMLHttpRequestFetch
Fetch dokázal přečíst string JSONu do objektů?JSON.stringify(obj)JSON.parse(str)JSON
Jaký problém by mohl nastat, když můžeme v JS posílat požadavky?
Access-Control-Allow-Origin: https://cajthaml.euAccess-Control-Allow-Origin: *OPTIONSJe možné v ACAO hlavičce nastavit více domén?
express
app.METHOD
přijme požadavek, možná provede nějakou akci a možná předá ho další middleware v pořadí
req — požadavekres — odpověďnext — funkce pro zavolání další middleware
body-parser
express-validator, joi, ...
pg pro PostgreSQLsequelize, prisma, ...
pg
parametrumůžeme vložit vlastní SQL kód
Jaký port používá HTTP/HTTPS?
Zadávali jste někdy do URL port?
Může na jednom PC tedy běžet více serverů HTTP?
sequenceDiagram
actor Client
participant Proxy
box Server
participant App A as Server/App A
participant App B as Server/App B
end
Client ->> Proxy: Request A (port 80)
Proxy ->> App A: Request (port 3000)
activate App A
App A ->> Proxy: Response
deactivate App A
Proxy ->> Client: Response
Client ->> Proxy: Request B (port 80)
Proxy ->> App B: Request (port 3001)
activate App B
App B ->> Proxy: Response
deactivate App B
Proxy ->> Client: Response
Děkuji za pozornost!