Super film, jak zawsze Krystian! Co do wersji API to faktycznie zgadzam się z tym że to jaką metodę wersjonowania wybrać "to zależy". Pamiętam że kiedyś parę osób zapominało właśnie o nagłówkach i potem narzekali, że API nie jest wystarczająco udokumentowane... Ale to nie wina API samego w sobie :) Przy okazji wersjonowania, stosuje się je zazwyczaj gdy API samo w sobie jest produktem, jeśli się nie mylę? Co w takiej sytuacji sądzisz o HATEOS? Warto trzymać 3 poziom dojrzałości?
No, w każdym z tych wypadków dokumentacja jest żmudna. Można dodawać alternatywne odpowiedzi, co bywa nieczytelne albo wynosić to do osobnych. Tak naprawdę tylko tam gdzie URL jest inny czyli /v2 się dokumentuje łatwiej ale po prostu się powiela i uwzględnia zmiany, więc na jedno wychodzi. Ja nie znam w Open API żadnej świetnej metody dokumentowania różnych wersji, więc trzeba żyć z tym co się ma.
Tak, jeżeli API jest produktem to ma się wielu klientów i tam bez wersjonowania ani róż, ale w ramach nawet jednego ekosystemu przy wielu mikroserwisach wersjonowanie sie przyda, bo nie wszyscy w jednym momencie są w stanie sie przepiąć.
Co do HATEOS, ja raczej odpuszczam 3 poziom. Gdybym robił API faktycznie jako produkt dla zewnętrzych integracji klientów to może, ale często roboty jest dużo więcej, a klienci z tego nie korzystają. Ogólnie staram się bazować na REST ale na tyle żeby mnie nie ograniczał i czasem celowo łamie reguły po to żeby API było bardziej używalne i łatwiej utrzymywalne - nawet kosztem niezgodności z teorią. 😏
Super film, jak zawsze Krystian!
Co do wersji API to faktycznie zgadzam się z tym że to jaką metodę wersjonowania wybrać "to zależy".
Pamiętam że kiedyś parę osób zapominało właśnie o nagłówkach i potem narzekali, że API nie jest wystarczająco udokumentowane... Ale to nie wina API samego w sobie :)
Przy okazji wersjonowania, stosuje się je zazwyczaj gdy API samo w sobie jest produktem, jeśli się nie mylę?
Co w takiej sytuacji sądzisz o HATEOS? Warto trzymać 3 poziom dojrzałości?
Fakt, teraz przy pisanu API docs np w Swagger to jak oddzielic wersje endpoint'ow?
@@ThePoniatowski13 ciekawe pytanie, ale zdaje mi się że dokumentacja chyba musiała by być osobna?
No, w każdym z tych wypadków dokumentacja jest żmudna. Można dodawać alternatywne odpowiedzi, co bywa nieczytelne albo wynosić to do osobnych. Tak naprawdę tylko tam gdzie URL jest inny czyli /v2 się dokumentuje łatwiej ale po prostu się powiela i uwzględnia zmiany, więc na jedno wychodzi. Ja nie znam w Open API żadnej świetnej metody dokumentowania różnych wersji, więc trzeba żyć z tym co się ma.
Tak, jeżeli API jest produktem to ma się wielu klientów i tam bez wersjonowania ani róż, ale w ramach nawet jednego ekosystemu przy wielu mikroserwisach wersjonowanie sie przyda, bo nie wszyscy w jednym momencie są w stanie sie przepiąć.
Co do HATEOS, ja raczej odpuszczam 3 poziom. Gdybym robił API faktycznie jako produkt dla zewnętrzych integracji klientów to może, ale często roboty jest dużo więcej, a klienci z tego nie korzystają. Ogólnie staram się bazować na REST ale na tyle żeby mnie nie ograniczał i czasem celowo łamie reguły po to żeby API było bardziej używalne i łatwiej utrzymywalne - nawet kosztem niezgodności z teorią. 😏
Z chęcią bym się poduczył testów. Masz w planach może coś takiego nagrać ? 😅
Takiego od A do Z to raczej nie, konkretne zagadnienia wybieram i omawiam. 🙂