• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

REST - szukam materiałów do nauki

Object Storage Arubacloud
0 głosów
3,307 wizyt
pytanie zadane 24 lipca 2016 w C# przez qvo Obywatel (1,670 p.)
Szukam materiałów do nauki REST w C#. Nie chcę od razu pisać webServisu, chciałbym skorzystać z jakiegoś gotowego API i stworzyć do tego clienta.

Może polecicie jakieś poradniki / książki / API z którego mogę skorzystać, cokolwiek co pomogło by mi się w tym odnaleźć.

4 odpowiedzi

+7 głosów
odpowiedź 24 lipca 2016 przez Tomatosoup Pasjonat (18,530 p.)
wybrane 25 lipca 2016 przez event15
 
Najlepsza

nauki REST w C#.

REST nie uczysz się w danej technologii. Representational State Transfer to podejście do pisania API zaproponowane przez Roy'a Fieldinga (współtwórcę protokołu http) w jego pracy doktorskiej z 2000 roku.

Sam proces tworzenia jest podobny do pisania zwykłego API - jednak aby było ono faktycznie restful trzeba spełnić  wymogi (ang. constraints). narzucone na architekturę oprogramowania sieciowego.

REST jest podejściem które idzie w parze i godzi się z protokołem HTTP (zarówno wersji 1.1 jak i 'nowej' 2ki - różnice są tak na prawdę głównie w optymalizacji). Zamiast walczyć z HTTP tak jak miało - albo raczej dalej ma miejsce w przypadku SOAP, wykorzystujemy w pełni jego arsenał możliwości.

Czym są hypermedia, czyli HATEOAS, będzie zawarte w poniższych linkach.

REST tak jak wcześniej wspomniałem opiera się na  wymogach (ang. constraints) którymi są:

  1. Client-Server
  2. Bezstanowość (Stateless)
  3. Cache
  4. Uniwersalny/jednolity interfejs (Uniform Interface)
  5. System warstwowy (Layered System)
  6. Kod na żądanie (Code-On-Demand)

Tłumaczenia mogą nie być najlepsze - zachęcam do stosowania angielskiej terminologii.

Opisanie na czym polega REST w szczegółach to temat na spoory artykuł tak więc ograniczę się do tego wstępu i podania źródeł.

Absolutnym obowiązkiem według mnie jest pójście 'do korzeni' - czyli przeczytanie wspomnianej już przeze mnie pracy Roy'a:
https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm

Rest jest zawarty w 5tym rozdziale - natomiast polecam przeczytać całość.

Kolejny tekst od mistrza rest'u - tutaj natomiast o samym nacisku na to, że API powinno być hypertext-driven
http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven

Martin Fowler również się udziela na ten temat ;) 
http://martinfowler.com/articles/richardsonMaturityModel.html

Prelekcja o REST API wraz z demo które pokazuję jak się przemieszczać po api oraz jak powinna już wyglądać gotowa implementacja
https://www.youtube.com/watch?v=pZYRC8IbCwk

Tutaj lista książek zaproponowana przez Mike'a Amundsena - możecie go spotkać na kanale irc #rest
https://www.infoq.com/articles/rest-reading-list

O czym nie można zapomnieć, to o typie zwracanych hypermediów, (ang. hypermedia type) a właściwie to ogólnie o typie zwracanej odpowiedzi. Chyba najpopularniejszym teraz standardem jest:
http://jsonapi.org/

Innymi również popularnymi są: HAL, Collection+JSON, Siren, JSON-LD. Porównanie ich znajdziecie tutaj:

http://sookocheff.com/post/api/on-choosing-a-hypermedia-format/

Na koniec podeście do restu które nieco odchodzi od wcześniej wymienionych purystów, czyli pisanie pragmatycznych API. W praktyce w firmach tak zazwyczaj to wygląda (i to w scenariuszu dobrego kodu) :
http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api

Najbliższe znane mi (duże i prosperujące) API które można nazwać restful, czyli między innymi stosujące hypermedia (naczęściej pomijany aspekt REST API) jest Twitch API
https://github.com/justintv/Twitch-API

Żeby nie szukać dalej, tutaj znajdziecie przykład źle napisanego `rest api` - choć z restem to ma niewiele wspólnego

https://github.com/Microsoft/api-guidelines/blob/master/Guidelines.md

A tutaj powody dlaczego

https://www.infoq.com/news/2016/07/microsoft-rest-api

+1 głos
odpowiedź 24 lipca 2016 przez Horace17 Obywatel (1,070 p.)

Osobiście polecam kursy ASP.NET z http://eduweb.pl/, przerobiłem już jeden podstawowy i jestem ogromnie zadowolony. Tłumaczone świetnie, fajne przykłady, prowadzący ma świetny głos - dobrze się słucha. Teraz zakupiłem kurs ASP.NET - w praktyce i myślę, że się nie zawiodę, bo jest ten sam prowadzący :) Pozdrawiam !

+1 głos
odpowiedź 24 lipca 2016 przez DavvidEm Nowicjusz (190 p.)

Nie jestem fanem czytania książek dotyczących danej technologi np. ASP.NET. Od siebie polecałbym książkę - RESTful Web APIs, o ile nie przeszkadza Ci angielski(chociaż może istnieje polska wersja, nie wiem). Lubię ją za to, że zwraca uwagę na to jak ważne jest aby API zachowało zasad HATEOAS i było ustandaryzowane. I ogólnie czyta się ją jak dobrą powieść, bardzo polecam.

0 głosów
odpowiedź 24 lipca 2016 przez MichuDev Pasjonat (20,300 p.)

W tym temacie odpowiedziałem na podobne pytanie podając ogromną ilość źródeł informacji o C# i ASP.NET:

http://forum.pasja-informatyki.pl/157077/asp-net-c%23-zrodla-wiedzy#a157100.

Wystarczy trochę poszukać i się coś znajdzie. Nie będę się powtarzać!

 

1
komentarz 24 lipca 2016 przez Tomatosoup Pasjonat (18,530 p.)

ogromną ilość źródeł informacji

Ogromną ? W takim razie niech @event15 Ci powie co to znaczy ogromna ilość wiedzy o danym języku, na pewno nie jest to podanie linku do heliona ze wszystkimi książkami bez polecenia żadnej konkretnej.

Nie będę się powtarzać!

A powtarzasz się ? W Twojej odpowiedzi nie ma żadnego źródła które mówi o REST API - chyba, że coś przeoczyłem ?

komentarz 25 lipca 2016 przez event15 Szeryf (93,790 p.)
Ogromna ilość wiedzy o danym języku to znaczy wiele dupogodzin spędzonych nad książkami, filmami i kodem. Powiedziałem. Mówią, że aby stać się ekspertem trzeba poświęcić danej czynności 10 000 godzin. Średnio wychodzi 1250 dni roboczych czyli około 4 lata ośmiogodzinnej pracy :)

Podobne pytania

0 głosów
1 odpowiedź 217 wizyt
pytanie zadane 20 listopada 2021 w C# przez dawid2002 Mądrala (5,190 p.)
+1 głos
1 odpowiedź 305 wizyt
pytanie zadane 3 grudnia 2020 w C# przez PatrykSladek Początkujący (310 p.)
0 głosów
0 odpowiedzi 165 wizyt
pytanie zadane 26 września 2018 w C# przez kubekszklany Gaduła (3,190 p.)

92,536 zapytań

141,377 odpowiedzi

319,452 komentarzy

61,920 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...