2012-11-01 16 views
17

Poszukuję stylów najlepszych praktyk do zawijania interfejsu API REST w lekkim kliencie JavaScript.Jakie są dobre przykłady bibliotek klientów REST API w JavaScript

W przeszłości widziałem bibliotek, które są wdrażane w stylu takich jak:

var request = new SearchRequest(apikey); 
request.query = "search term"; 
request.send(function(results) { 
    console.log(results); 
}); 

Albo że objąć HTTP bardziej wyraźnie jak:

api.get("search", "search term", function(results) { 
    console.log(results); 
}); 
api.post("comment", comment, function(results) { 
    console.log(results); 
}); 

Albo że okład na jeszcze wyższym poziomie :

api.search("search term", function(results) { 
    console.log(results); 
}); 
api.createComment(comment, function(results) { 
    console.log(results); 
}); 

Jakie dobre przykłady współczesnych bibliotek JavaScript owijających interfejsy API REST ostatnio widziałeś. Nie martwisz się szczegółami implementacji, tylko projekt interfejsu API.

Dzięki!

+2

Osobiście jestem fanem trzeciego przykładu (wyższego poziomu abstrakcji). Czuje się bardziej jak SDK, a mniej jak lekkie opakowanie. –

Odpowiedz

10

Oglądałem naprawdę dobry film o dobrym API Design. Zdecydowanie warta zegarka.

RESTful API Design - Second Edition

Można również uzyskać bezpłatną książka Web API Design - Crafting interfejsy Deweloperzy Miłość w uzupełnieniu do powyższego filmu przechodząc do http://bit.ly/M28lOu

Odnośnie owijarki może warto myśleć o następujące:

  1. Spraw, aby opakowanie było spójne.

Przyjmij standardy, konwencje nazewnictwa itp. Języka programowania lub społeczności, z którą pracujesz, aby opakowanie było jak najbardziej naturalne dla osób używających go.

  1. Do zawijania lub do abstrakcji? Oto jest pytanie.

Przez Wyrzucisz naśladować metody API REST i strukturę jak najwięcej, ale po prostu, że niektóre z tych trudnych rzeczy łatwiejsze. Jedną z największych zalet tego podejścia jest to, że ułatwia aktualizację, gdy docelowy interfejs REST API zostanie uaktualniony.

Abstrahując jest użyteczna, gdy docelowa API odpoczynek jest złożona lub zachowuje się i patrzy w niestandardowych sposobów. W takim przypadku metody opakowywania i wywołania mogą w ogóle nie przypominać docelowych metod API REST, ale ostatecznie uprościją życie (miejmy nadzieję) osób korzystających z opakowania.

3

Sprawdź te z nich:

Istnieją inne podobne dyskusje na StackOverflow, jak JavaScript REST client Library

+0

Wersja prostokątna minified 20kb, ale Restful minified wersja 78kb. Za dużo dla REST, jak myślę. – Seigiard

+1

restful.js zależy od pliku immutable.js, który zawiera ponad 50 kb zminimalizowanego i spokojnego źródła. Jeśli używasz już immutable.js w swojej aplikacji (co jest bardzo powszechne w projektach ReactJs/Redux), a do budowy użyjesz pakietu internetowego, plik immutable.js zostanie dodany tylko raz. Dlatego wielkość odpoczynku będzie bardzo podobna do Restangular. –

+1

Ponadto, jeśli używasz Angular, zdecydowanie powinieneś używać Restangular. Plik Restful.js lepiej nadaje się do aplikacji nie korzystających z Angular. W takim przypadku część źródła Anguler (np. $ Http) musi zostać w jakiś sposób przeniesiona do rdzenia restrykcyjnego. –

Powiązane problemy