Rozmowy o API (Stempel)

Administracja międzynarodowych systemów informatycznych

Opiekunowie: Helwetyk Romański, Sheldon Anszlus Robingren

Awatar użytkownika
Franklin Garamond • Stempel
Namiestnik Palatynatu Leocji
Lokalizacja: Nowy Brzeg, Stare Miasto 2

Rozmowy o API (Stempel)

Post autor: Franklin Garamond »

Nie wiem do czego miałyby być te kody używane, ale jeśli np. można pobrać użytkownika (/api/user/{kod-jednorazowy}) i to zwraca m.in. kraje w którym jest on uwierzytelniony, to ja to bym bardzo chciał, żeby używane były id danych krajów, a które będzie można pozyskać prostym zapytaniem do api np. /api/kraje/{id} i otrzymać kraj o konkretnym id albo /api/kraje i otrzymać listę wszystkich. Dzięki temu nie będę musiał się martwić rozszerzaniem po stronie swojej aplikacji obsługi nowych krajów.
Obrazek Obrazek Obrazek
(—) Franklin Garamond
Namiestnik Palatynatu Leocji
Awatar użytkownika
Helwetyk Romański • Stempel
Namiestnik Palatynatu Leocji
Lokalizacja: Nowy Brzeg

Rozmowy o API (Stempel)

Post autor: Helwetyk Romański »

Franklin Garamond pisze: ↑
17 lis 2020, 11:46
Nie wiem do czego miałyby być te kody używane, ale jeśli np. można pobrać użytkownika (/api/user/{kod-jednorazowy}) i to zwraca m.in. kraje w którym jest on uwierzytelniony, to ja to bym bardzo chciał, żeby używane były id danych krajów, a które będzie można pozyskać prostym zapytaniem do api np. /api/kraje/{id} i otrzymać kraj o konkretnym id albo /api/kraje i otrzymać listę wszystkich. Dzięki temu nie będę musiał się martwić rozszerzaniem po stronie swojej aplikacji obsługi nowych krajów.
To jest bardzo cenna uwaga (odnośnie do API dla krajów, podobnie na liście już mam API dla użytkowników). Nie wiem tylko, na ile tego typu rozszerzenie specyfikacji nie spowodowałoby trudności po stronie wdrożenia integracji. Intuicja mi podpowiada, że mogłoby.
Obrazek Obrazek Obrazek
Obrazek Obrazek Obrazek
(—) prokr. Hweltywk Romański, RkORF · LAN
Namiestnik № 2 Palatynatu Leocji
Dyniowy Padawan
LEOCKA PARTIA FASZYSTÓW JĘZYKOWYCH

Nikogo się nie ściga, ale wszystkich się poprawia, bo tak nakazują
wewnętrzna potrzeba, poczucie sprawiedliwości i wyznawany porządek rzeczy.

IGNATS IK RUTH

Nawet podczas realiozy sprawdzam skrzynkę helwetyk​@​gmail.com
Awatar użytkownika
Franklin Garamond • Stempel
Namiestnik Palatynatu Leocji
Lokalizacja: Nowy Brzeg, Stare Miasto 2

Rozmowy o API (Stempel)

Post autor: Franklin Garamond »

Jak mówiłem - jeśli w ramach API zwracane mają być te trójliterowe kody w jakikolwiek sposób, to bardzo bym nie chciał po stronie swojej aplikacji musieć prowadzić jakąś tablicę i aktualizować ją z każdym nowym krajem, by rozkodować ten kod.
Helwetyk Romański pisze: ↑
17 lis 2020, 12:06
Nie wiem tylko, na ile tego typu rozszerzenie specyfikacji nie spowodowałoby trudności po stronie wdrożenia integracji. Intuicja mi podpowiada, że mogłoby.
Nie widzę powodu dlaczego to miałoby cokolwiek skomplikować. To nie jest 100 endpointów, a ile? 4 zamiast 3?
Poza tym użycie go byłoby całkowicie fakultatywne.
Obrazek Obrazek Obrazek
(—) Franklin Garamond
Namiestnik Palatynatu Leocji
Awatar użytkownika
Helwetyk Romański • Stempel
Namiestnik Palatynatu Leocji
Lokalizacja: Nowy Brzeg

Rozmowy o API (Stempel)

Post autor: Helwetyk Romański »

Franklin Garamond pisze: ↑
17 lis 2020, 12:38
Jak mówiłem - jeśli w ramach API zwracane mają być te trójliterowe kody w jakikolwiek sposób, to bardzo bym nie chciał po stronie swojej aplikacji musieć prowadzić jakąś tablicę i aktualizować ją z każdym nowym krajem, by rozkodować ten kod.
Ilość danych jest na tyle niewielka, że głośno się zastanawiam, czy nie zwracać i kodów tekstowych, i numerycznych (tu: przy równoczesnym udostępnieniu API). Mając nadzieję, że poniższy fragment nikogo nie zniechęci (staram się, aby był przyjazny w lekturze dla humanistów… i dla mnie), tak wygląda roboczo rezultat odpytania Stempla przy użyciu mojego hasła jednorazowego:

Kod: Zaznacz cały

array (
  'blad' => 'BRAK_BLEDU',
  'dane' => 
    array (
      'paszport' => 1000,
      'personalia' => 'Helwetyk Romański',
      'profil' => 'https://stempel.org.pl/paszport/1000',
      'awatar' => 'https://stempel.org.pl/fotografie/miniatury/16055602681352291778.png',
    ),
  'kraje_kody' => 
    array (
      8 => 'AUH',
      7 => 'BIA',
      11 => 'BIZ',
      5 => 'BRO',
      2 => 'DRE',
      1 => 'LEO',
      3 => 'RON',
      6 => 'ROT',
      4 => 'SAR',
      9 => 'SKA',
      10 => 'WIN',
  ),
)
Obrazek Obrazek Obrazek
Obrazek Obrazek Obrazek
(—) prokr. Hweltywk Romański, RkORF · LAN
Namiestnik № 2 Palatynatu Leocji
Dyniowy Padawan
LEOCKA PARTIA FASZYSTÓW JĘZYKOWYCH

Nikogo się nie ściga, ale wszystkich się poprawia, bo tak nakazują
wewnętrzna potrzeba, poczucie sprawiedliwości i wyznawany porządek rzeczy.

IGNATS IK RUTH

Nawet podczas realiozy sprawdzam skrzynkę helwetyk​@​gmail.com
Awatar użytkownika
Franklin Garamond • Stempel
Namiestnik Palatynatu Leocji
Lokalizacja: Nowy Brzeg, Stare Miasto 2

Rozmowy o API (Stempel)

Post autor: Franklin Garamond »

A może po prostu id => nazwa? Po co są w ogóle te kody? Autor nadal tego nie ujawnił 🙄
Obrazek Obrazek Obrazek
(—) Franklin Garamond
Namiestnik Palatynatu Leocji
Awatar użytkownika
Helwetyk Romański • Stempel
Namiestnik Palatynatu Leocji
Lokalizacja: Nowy Brzeg

Dwu- i trzyliterowe kody polskich mikronacji (Stempel)

Post autor: Helwetyk Romański »

Franklin Garamond pisze: ↑
17 lis 2020, 13:07
A może po prostu id => nazwa?
W sensie, pełna (lub skrócona) nazwa kraju, z polskimi znakami etc.?

Franklin Garamond pisze: ↑
17 lis 2020, 13:07
Po co są w ogóle te kody? Autor nadal tego nie ujawnił 🙄
Na okoliczność, gdyby w ramach jakiegoś przedsięwzięcia oczekiwano, że będą z niego korzystali tylko mieszkańcy danego kraju. Oczywiście, z powodów natury ideowej wolałbym, aby takich przedsięwzięć było jak najmniej, ale też i przypuszczam, że taka funkcjonalność byłaby wskazana.
Obrazek Obrazek Obrazek
Obrazek Obrazek Obrazek
(—) prokr. Hweltywk Romański, RkORF · LAN
Namiestnik № 2 Palatynatu Leocji
Dyniowy Padawan
LEOCKA PARTIA FASZYSTÓW JĘZYKOWYCH

Nikogo się nie ściga, ale wszystkich się poprawia, bo tak nakazują
wewnętrzna potrzeba, poczucie sprawiedliwości i wyznawany porządek rzeczy.

IGNATS IK RUTH

Nawet podczas realiozy sprawdzam skrzynkę helwetyk​@​gmail.com
Awatar użytkownika
George S. Patton • Stempel
Obywatel

Rozmowy o API (Stempel)

Post autor: George S. Patton »

Franklin Garamond pisze: ↑
17 lis 2020, 13:07
A może po prostu id => nazwa? Po co są w ogóle te kody? Autor nadal tego nie ujawnił 🙄
Dokładnie to chciałem napisać... Jak mamy ID, to po co nam jeszcze kod, skoro można zwrócić pełną nazwę, skoro i tak jest łańcuch znaków zwracany.
Oczywiście znane są przypadki, gdzie kody są stosowane, można zrzucać wręcz jako tablicę, gdzie będzie i "code" i "name" w zależności od "id"
I polskie znaki tu nie stanowią chyba?
(—) George S. Patton
1. Na początku byli Regenci
2. Potem %przyszłem ja
Awatar użytkownika
Helwetyk Romański • Stempel
Namiestnik Palatynatu Leocji
Lokalizacja: Nowy Brzeg

Rozmowy o API (Stempel)

Post autor: Helwetyk Romański »

Iwan Koniew pisze: ↑
17 lis 2020, 13:11
Franklin Garamond pisze: ↑
17 lis 2020, 13:07
A może po prostu id => nazwa? Po co są w ogóle te kody? Autor nadal tego nie ujawnił 🙄
Dokładnie to chciałem napisać... Jak mamy ID, to po co nam jeszcze kod, skoro można zwrócić pełną nazwę, skoro i tak jest łańcuch znaków zwracany.
Pod kątem wygody implementacji. Wiadomo, że po identyfikatorze numerycznym można rozpoznać dany kraj. Jest to liczba, którą trzeba gdzieś zapisać, pobrać — nie twierdzę, że to jest w jakimkolwiek stopniu trudne; to po prostu dodatkowy nakład pracy. W przypadku kodu literowego wystarczy szybkie sprawdzenie typu czy_tablica_zawiera_kod('LEO') i można pójść dalej. A dlaczego sam kod? Ponieważ kraje zmieniają nazwy…

Iwan Koniew pisze: ↑
17 lis 2020, 13:11
Oczywiście znane są przypadki, gdzie kody są stosowane, można zrzucać wręcz jako tablicę, gdzie będzie i "code" i "name" w zależności od "id". I polskie znaki tu nie stanowią chyba?
W osobnym mechanizmie, zdecydowanie.
Obrazek Obrazek Obrazek
Obrazek Obrazek Obrazek
(—) prokr. Hweltywk Romański, RkORF · LAN
Namiestnik № 2 Palatynatu Leocji
Dyniowy Padawan
LEOCKA PARTIA FASZYSTÓW JĘZYKOWYCH

Nikogo się nie ściga, ale wszystkich się poprawia, bo tak nakazują
wewnętrzna potrzeba, poczucie sprawiedliwości i wyznawany porządek rzeczy.

IGNATS IK RUTH

Nawet podczas realiozy sprawdzam skrzynkę helwetyk​@​gmail.com
Awatar użytkownika
George S. Patton • Stempel
Obywatel

Rozmowy o API (Stempel)

Post autor: George S. Patton »

Helwetyk Romański pisze: ↑
17 lis 2020, 13:18
W przypadku kodu literowego wystarczy szybkie sprawdzenie typu czy_tablica_zawiera_kod('LEO') i można pójść dalej. A dlaczego sam kod? Ponieważ kraje zmieniają nazwy…
No tak, to jeszcze szybciej będzie if ( 1 === id_kraju ) i mamy, że Leocja.
Helwetyk Romański pisze: ↑
17 lis 2020, 13:18
W osobnym mechanizmie, zdecydowanie.
Zdecydowanie polecam :)
(—) George S. Patton
1. Na początku byli Regenci
2. Potem %przyszłem ja
Awatar użytkownika
George S. Patton • Stempel
Obywatel

Rozmowy o API (Stempel)

Post autor: George S. Patton »

Helwetyk Romański pisze: ↑
17 lis 2020, 12:53
tak wygląda roboczo rezultat odpytania Stempla przy użyciu mojego hasła jednorazowego:

Kod: Zaznacz cały

array (
  'blad' => 'BRAK_BLEDU',
  'dane' => 
    array (
      'paszport' => 1000,
      'personalia' => 'Helwetyk Romański',
      'profil' => 'https://stempel.org.pl/paszport/1000',
      'awatar' => 'https://stempel.org.pl/fotografie/miniatury/16055602681352291778.png',
    ),
  'kraje_kody' => 
    array (
      8 => 'AUH',
      7 => 'BIA',
      11 => 'BIZ',
      5 => 'BRO',
      2 => 'DRE',
      1 => 'LEO',
      3 => 'RON',
      6 => 'ROT',
      4 => 'SAR',
      9 => 'SKA',
      10 => 'WIN',
  ),
)
Hm, ja bym zrobił jakoś tak:

Kod: Zaznacz cały

{
	status: int,
	data: {
		// jakieś tam dane
	},
	countries: {
		// jeżeli trzeba
	}
}
Bo dzięki temu status jak jest np. 0 to brak błędu, jak 1 to błąd. Albo wręcz można skorzystać ze statusów HTTP, dać 200 na ok, 404 na nie znaleziono, 403 na zabronione itp.
(—) George S. Patton
1. Na początku byli Regenci
2. Potem %przyszłem ja
ODPOWIEDZ

Wróć do „Centrum Rozwoju Łączności Międzynarodowej”