![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Zabieram się do wystawienia API do istniejącej już aplikacji, API będzie zarówno pod appkę jak i strony www.
Chciałbym aby to było dobre, RESTowe, użyteczne i elastyczne API, a nie kilka sztywnych metod. Jakieś doświadczenia jak zbudować dobre API, z którego byście sami z przyjemnością korzystali? Kilka ważnych aspektów: - autoryzacja - wersjonowanie - spójny format błędów - kontrola nad zwracanymi danymi (zarówno wybór pól jak i relacji) - limitowanie i paginacja - możliwość generowanie zaawansowanych metod typu find, search (szukanie po polach za pomocą różnych warunków, które można użyć w where()) - dokumentacja (generator?) Pod większością względów podoba mi się API wFirmy (system do faktur): https://doc.wfirma.pl/#h2-Komunikacja-h3-Ko...nie-zapyta-find Poza troszkę zagmatwanym formatem danych, zwracanych przez te API i brakiem wersjonowania to jest to dla mnie wzór, który chciałbym osiągnąć. Zastanawiam się czy znajdę gotowy szkielet takiego API czy muszę to implementować wszystko samemu, na poziomie kontrolerów i repozytoriów? W L5.5 jest kilka dodatków typowo pod API np. Responses ale i tak wciąż jest sporo pracy. Ten post edytował markonix 26.11.2017, 02:21:48 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 673 Pomógł: 106 Dołączył: 31.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Raczej nie powinno być problemów, prawdę mówiąc pamiętam tylko o wersji Laravela w aktualnie rozwijanym projekcie i jest to wersja 5.4, a projekt do najmłodszych nie należy ponieważ ma już za sobą migrację z 5.3 (IMG:style_emoticons/default/smile.gif)
Uprzedzam tylko, że są problemy z relacjami przechodnimi jak np. "user.messages", ale dla zwykłych relacji typu "user" lub "messages" działa poprawnie i nie napotkałem problemów. Np. ?limit=messages.5 zadziała, ale ?limit=messages.files.5 już nie jestem pewień, obsługa niektórych parametrów dla tego typu przypadków zawodzi. PS Po magisterce musiałbym przysiąść trochę do tej biblioteki i faktycznie mogłoby powstać z tego coś wartościowego. Tzn. na moje potrzeby już jest i wykorzystuję ją zarówno na uczelni jak i w pracy (choć niestety tylko jeden z tych projektów generuje naprawdę ciekawe przypadki użycia). Ten post edytował r4xz 26.11.2017, 17:48:11 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 15:06 |