MYDŁO, ODPOCZYNEK I TWÓRCZOŚĆ LUDZI
SOAP potrzebuje dokumentu opisowego, takiego jak WSDL, ponieważ każdy zasób może być wykorzystany z różnymi komunikatami, w protokole nie ma definicji ograniczeń związanych z możliwymi nazwami / komunikatami, którymi można manipulować zasobem.
Na przykład w SOAP usługa sieci Web, która pozwala klientom manipulować użytkownikiem, może ujawnić operację tworzenia użytkownika w wielu różnych wiadomościach, takich jak:
addUser
createUser
insertUser
Oczywiście to tylko kilka przykładowych wiadomości, ponieważ widziałem wiele zabawnych nazw metod serwisów internetowych. Tam są naprawdę kreatywni ludzie.
Z drugiej strony, jeśli ujawniasz swój podstawowy system za pomocą interfejsu API, który naprawdę przestrzega zasad REST, klient musi tylko wiedzieć, że masz zasób o nazwie Użytkownicy, ponieważ istnieje 99% szans, że możesz utworzyć użytkownika w tym droga
POST /Users
Dzieje się tak w przypadku każdej operacji, którą chcesz udostępnić za pomocą SOAP lub REST interfejsu API sieci Web.
Pomimo tego, że jest SOAP, jest protokołem, który ogranicza to, co możesz, a czego nie możesz zrobić, i jest REST architekturą stylu, która pozostawia wiele otwartych punktów, jak to robić. Podejmowane są wysiłki w celu zdefiniowania konwencji, w jaki sposób udostępniać i korzystać z interfejsu API REST.
OPIS RESTU WEB API
W dziedzinie opisu REST interfejsu API mogę przytoczyć Swagger . Nie jest to próba utworzenia pliku WSDL typu REST interfejsu API sieci Web, ale dobra próba utworzenia otwartego standardu opisywania interfejsu REST interfejsu API sieci Web.
Swagger to specyfikacja i pełna implementacja frameworka do opisu, produkcji, konsumpcji i wizualizacji usług sieciowych RESTful.
Często używam Swaggera i bardzo go uwielbiam, głównie dlatego, że interfejs użytkownika Swagger, który pozwala wygenerować ładną konsolę na żywo i dokumentację dla interfejsu WWW.
Istnieje wiele implementacji Swagger dla większości języków: C #, Java, Python, Ruby itp.
Jeśli używasz interfejsu API sieci Web platformy ASP .NET, istnieje kilka projektów do automatycznego wygenerowania specyfikacji Swagger, takich jak Swagger.NET
GENEROWANIE KLIENTÓW DO ODPOCZYNKU INTERNETOWEGO API
Ponieważ ograniczenia REST, takie jak ograniczony zestaw czasowników (GET, POST, PUT, DELETE itp.), Nie są tak trudne do wygenerowania biblioteki klienta do REST interfejsu API sieci Web.
Projekty takie jak WebApiProxy mogą z łatwością generować klientów w języku C # i JavaScript.
KONWENCJE DOTYCZĄCE RESTOWANIA API WEB
Aby ułatwić nam życie jako programistom, dobrze jest zdefiniować niektóre konwencje tego, jak zachowa się nasza REST interfejsu API w sieci. Najlepszym wysiłkiem, jaki znam w tej dziedzinie, jest bardzo dobry ebook Apigee - Web Api Design . E-book nie jest próbą stworzenia Biblii ani mantry o tym, jak zaprojektować API, ale raczej zbiór konwencji zaobserwowanych w dużych aplikacjach internetowych REST api, takich jak Twitter, Facebook, Linkedin, Google itp.