RestAPI vs WebAPI, dlaczego curl i how to allegroAPI?

0

Chciałem pobierać sobie produkty na allegro spod danej kategorii jako jsonki i trochę zaliczyłem dzwon

  • Jaka jest różnica pomiędzy RestAPI, a WebAPI (np. allegro), bo to co znalazłem na stacku średnio mi cokolwiek mówi
REST

RESTs sweet spot is when you are exposing a public API over the internet to handle CRUD operations on data. REST is focused on accessing named resources through a single consistent interface.

SOAP

SOAP brings it’s own protocol and focuses on exposing pieces of application logic (not data) as services. SOAP exposes operations. SOAP is focused on accessing named operations, each implement some business logic through different interfaces.

Jak to wygląda w praktyce?

Auth przy Rescie allegro bardziej wygląda mi na przyznawanie przez użytkownika praw dla danej aplikacji, niż to co ja chciałbym zrobić - wziąć jakiś key i strzelać w endpointy, zatem mam użyć ich webapi czy tam soapa niż resta?

  • Dlaczego niektóre serwisy wystawiają API na zasadzie https://url.com/endpoint (normalna strona dla usera z frontem) + https://url.com/endpoint.json (json), a niektóre nie?

  • Dlaczego niektóre serwisy mające w dokumentacji np. /getusers, to po zrobieniu geta na domain/getusers dostaniemy wynik (że ścieżki są po ludzku zrobione), a przy allegro same 404?

https://allegro.pl/doGetItemsList?webapiKey=
https://allegro.pl/webapi/doGetItemsList?webapiKey=
https://webapi.allegro.pl/doGetItemsList?webapiKey=

serio pytam, o czym nie wiem?

  • Dlaczego w prawie każdej dokumentacji pokazywany jest przykład z użyciem cURLa? Czy nie powinno to również działać jako po prostu url z parametrami typu https://api.com/endpoint?abc=5&name=asd, jeżeli nie, to dlaczego cURL gdy jest np. postman?

chyba szybciej zrobię webscrap niż użyje ich api lol

0
  • soap to przeżytek, na allegro został tylko dla kompatybilności
  • w wielu api najpierw musisz się zautoryzować a dopiero potem otrzymujesz klucz z ograniczeniem czasowym na kolejne requesty, chyba że nie o to ci chodzi
  • cURL to przykład, możesz pobrać czymkolwiek, nikt ci nie zabroni, byle by to był backend a nie front bo ja to bym raczej nie chciał zdradzać nikomu kluczy i innych danych ;)
  • nie wszystko wystawia dane bo nie wszystko ma wystawiać dane, np przez względy bezpieczeństwa
  • jeśli próbujesz tak od o łaczyć się z sopem to daruj sobie, tak to można z restem a soap wymaga więcej wysiłku, gdyż soapem przesyłane w obie strony dane są przez xml, api wymaga żądania w postaci xml i to z tego co pamiętam wszystko lata postem
0
  • nie wszystko wystawia dane bo nie wszystko ma wystawiać dane, np przez względy bezpieczeństwa

no ok, ale jak wystawia te same dane przez ich stronkę dostępna dla każdego, to cóż za różnica, jeżeli i tak są do odczytania :P

  • w wielu api najpierw musisz się zautoryzować a dopiero potem otrzymujesz klucz z ograniczeniem czasowym na kolejne requesty, chyba że nie o to ci chodzi

Tak, chociaż przy niektórych api wystarczy podanie apikey, a niektóre chcą czarować z OAuthem :(

0
WeiXiao napisał(a):

Tak, chociaż przy niektórych api wystarczy podanie apikey, a niektóre chcą czarować z OAuthem :(

Poziomy bezpieczeństwa i tego do czego ma się dostać. apikey pewnie jest na rzeczy publiczne

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