Czy w API zachować te same reguły routingu?

Odpowiedz Nowy wątek
2019-04-10 22:11
0

Przymierzamy się powoli do jakiegoś API dla 4programmers.net. W związku z tym pytanie, co myślicie: Czy URL w API powinny wyglądać tak samo jak URL w części webowej?

URL na 4programmers.net wyglądają jak wyglądają ze względów - powiedzmy - "historycznych". Tzn. pierwsza litera w segmencie jest pisana wielką litera. I tak mamy np. /Mikroblogi czy /Praca, czy /Login. Jak można zauważyć, część jest pisana w wersji PL a część w EN (ze względów SEO oczywiście). Dla ułatwienia możemy zrobić, że adres api.4programmers.net/Mikroblogi będzie zwracała listę wpisów w JSON. Możemy jednak porzucić tę konwencję w API i stosować linki w wersji EN (małymi literami), czyli: api.4programmers.net/microblogs.

Co o tym myślicie? Wydaje mi się ze ta druga opcja?

Pozostało 580 znaków

2019-04-10 22:35
1

Obstawiałbym za jedną wersją, i najlepiej jednojęzyczną. Konwencja wielkich liter do mnie nie przemawia, i jestem za tym drugim rozwiązaniem.


"Trolling is a art"

Pozostało 580 znaków

2019-04-11 00:55
0

Mnie osobiście wszystko jedno, która koncepcja, byle była "spójna wewnętrznie", jak pisze @Hispano-Suiza. Mogą być litery wielkie i małe, po polsku i po angielsku. Jednak jest jeszcze, jak ja to mógłbym nazwać, "spójność zewnętrzna": czy zależy nam na tym, żeby API forum podążało za jakimś trendem w budowaniu API (jeśli w tym są jakieś trendy)? Może większość API takich for jak to jest po angielsku małymi literami (nie sprawdzałem), i chcemy też tak mieć?

Jakby co, to ja się właśnie uczę OpenAPI. Fajne to, wydaje się takie przemyślane. :)

PS. @Adam Boduch, a są jakieś specjalne powody, dla których zabrałeś się za tworzenie API? Może one implikują użycie jakiejś konwencji.

edytowany 4x, ostatnio: Silv, 2019-04-11 00:58

Pozostało 580 znaków

2019-04-15 16:15
0

Z jednej strony zawsze byłem za prostym, anglojęzycznym, małoliterowym™ (lowercase) stylem (spotykałem kwiatki typu getLudzie, brr), jednakże jeśli na stronie są Mikroblogi, a w API ma być microblogs, to w oczy kłuje spójność (a raczej jej brak).. szczególnie, że obok będzie Login i login, dlatego nie jestem jakoś święcie przekonany, że microblogs byłoby tu lepsze.


edytowany 1x, ostatnio: Marooned, 2019-04-15 16:16
Jaki to brak spójności – "microblogs"? - Silv 2019-04-15 16:36
Brak spójności z obecnymi URL - Marooned 2019-04-16 10:23
Aa... no tak, to tak. - Silv 2019-04-16 14:59

Pozostało 580 znaków

2019-04-15 17:07
1

Aktualne API:

  • Zwraca HTML'a który ma ładnie wyglądać
  • Raczej nie będzie wykorzystywany przez klientów innych niż przeglądarka
  • Markup będzie się zmieniał żeby odpowiadać walorom estetyki, UI

Nowe API:

  • Zwraca (pewnie) JSON/XML , który ma być spójny
  • Będzie wykorzystywany przez różne toole, aplikacje, mody
  • Struktura będzie taka sama, żeby zachować kompatybilność w przód

Można zauważyć, że (poza tym że zwracają taki sam kontent w różnych formach) to te dwa API nie mają ze sobą nic wspólnego. Po co więc na siłę tworzyć spójne nazwy?


char mander; bool basaur;
Zaawansowana biblioteka T-Regx do wyrażeń regularnych w PHP
edytowany 1x, ostatnio: TomRiddle, 2019-04-15 17:08
Nadal nie rozumiem. Tak, takie przeciwstawianie sobie API jest w porządku, nie mają ze sobą wiele wspólnego. Ale dlaczego tworzenie spójnych nazw "na siłę"? - Silv 2019-04-15 17:11
Autor sam zaznaczył że polskie nazwy upper case first są zaszłością historyczną. Nie widzę żadnego powodu żeby trzymać polskie nazwy - stąd "na siłę". - TomRiddle 2019-04-15 17:12
A! Już rozumiem. Dla mnie opieranie się na tym, co już istnieje, nie jest "tworzeniem na siłę", stąd niezrozumienie. :) Dzięki. - Silv 2019-04-15 17:15

Pozostało 580 znaków

2019-04-15 17:14
1
Silv napisał(a):

Ale dlaczego tworzenie spójnych nazw "na siłę"?

  1. Nie trudno wyobrazić sobie sytuację w której zajdzie potrzeba dodania takich zasobów/funkcji w nowym API, które nie mają żadnego odzwierciedlenia w aktualnym i odwrotnie (np. widok pisania postu (GET /Forum/Java/Submit) nie ma żadnego sensu w API "nie dla ludzi"). Wtedy wspólne nazwy staną się problematyczne.
  2. API po angielsku to wręcz prawo wszechświata. Wyobrażasz sobie że chcesz skorzystać z API, a tam zasoby po rosyjsku? /пользователь/14

char mander; bool basaur;
Zaawansowana biblioteka T-Regx do wyrażeń regularnych w PHP
edytowany 2x, ostatnio: TomRiddle, 2019-04-15 17:20
Hm, wyobrażam sobie po rosyjsku. API przecież jest zależne od autora usługi. Będzie chcieć zrobić po ukraińsku czy rosyjsku, zrobi tak. Może nawet zrobić dwie wersje, jeśli będzie mieć czas. Ale rozumiem, co masz na myśli – domyślnie jednakowy sposób korzystania z każdego API. ;) - Silv 2019-04-15 17:21
@Silv: nosz kurde, jasne że jak ktoś się uprze to może zwracać ilosć ocen w HTTP status code, i 404 będzie oznaczało że ktoś ma 404 lajki, ale kto pisze takie badziewne API do c***a? - TomRiddle 2019-04-15 17:22
@TomRiddle: liczba ocen w HTTP status code :D - Silv 2019-04-15 17:23

Pozostało 580 znaków

2019-04-15 21:29
3

Na github jest już pierwszy endpoint do API, zwracający listę mikroblogów. Pewnie trzeba będzie dodać jeszcze jakąś numeracje wersji - np. api.4programmers.net/v1/... na wszelki wypadek gdyby się coś kiedyś zmieniło :)

Pozostało 580 znaków

2019-04-15 22:06
0
Adam Boduch napisał(a):

Na github jest już pierwszy endpoint do API, zwracający listę mikroblogów. Pewnie trzeba będzie dodać jeszcze jakąś numeracje wersji - np. api.4programmers.net/v1/... na wszelki wypadek gdyby się coś kiedyś zmieniło :)

Nie ma testów? :D


char mander; bool basaur;
Zaawansowana biblioteka T-Regx do wyrażeń regularnych w PHP

Pozostało 580 znaków

2019-04-16 06:53
2

Chodzi mi o to, że gdybyśmy dodali/usunęli jakieś pola z JSON to wtedy stary format zostałby pod URL api.4programmers.net/v1/microblogs a nowy format pod URL api.4programmers.net/v2/microblogs.

Ale nie - nie ma jeszcze testów do API. Mam nadzieje, że może zachęcę społeczność do współtworzenia kodu i ktoś doda pull requesta :)

Pozostało 580 znaków

2019-04-17 07:02
1

Moja propozycja: https://api.4programmers.net/v1/microblogs

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0