Konrad Kowalski (rootsher)Principal Platform & Reliability Architect011010110100010101110100111000011001100011011010

API Contracts

wpisy (4)

  1. Warstwy HTTP w przeglądarce: od fetch() do QUIC2/9

    Methods i status codes: semantyka, nie dekoracja

    Metoda i status mówią browserowi oraz infrastrukturze, co wolno zrobić z requestem. Dlatego retry POST-a jest inną decyzją niż retry GET-a.

  2. Testowanie przez warstwy: od kodu do infrastruktury4/9

    Contract tests i API tests: publiczna umowa systemu

    Contract test pilnuje umowy między systemami, a API test sprawdza zachowanie publicznego interfejsu. Oba są potrzebne tam, gdzie zmiana przestaje być prywatna.

  3. Sposoby komunikacji z backendem: od formularza HTML do GraphQL5/6

    RPC: kiedy API modeluje operacje zamiast zasobów

    RPC zaczyna od operacji, nie od zasobu. Intencja staje się jawna, ale semantyka przenosi się z HTTP do kontraktu aplikacji.

  4. Sposoby komunikacji z backendem: od formularza HTML do GraphQL4/6

    REST: zasoby, reprezentacje i semantyka HTTP

    REST to nie „JSON i endpointy”. To zasoby identyfikowane przez URI, reprezentacje oddzielone od zasobu i wykorzystanie znaczenia metod HTTP.