2012-11-01 5 views
17

におけるREST APIクライアントライブラリの良い例はどのようなものです。私は軽量のJavaScriptクライアントでのREST APIをラップするためのベストプラクティスのスタイルを探していますJavaScriptの

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

それともそれは以下のように、より明示的にHTTPを受け入れる:過去には

私のようなスタイルで実装されているライブラリを見てきました

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

またはそれ以上のレベルでそのラップ:

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

最新のJavaScriptクライアントライブラリをラッピングするREST APIの優れた例あなたは最近見ました。実装の詳細、API設計だけを心配する必要はありません。

ありがとうございます!

+2

個人的に私はあなたの3番目(より高いレベルの抽象化)の例です。 SDKのように感じられ、軽量のラッパーに似ていません。 –

答えて

10

私は良いAPIの設計上の本当に良いビデオを見ました。間違いなく時計の価値がある。それはについて考える価値があるかもしれラッパーについてhttp://bit.ly/M28lOu

に行くことによって、上記の映像に加えて、開発者の愛工芸インターフェース - あなたはまた、無料の書籍のWeb APIの設計を得ることができます

RESTful API Design - Second Edition

以下:

  1. ラッパーを一貫性のあるものにします。

ラッパーを使用する人にできるだけ自然な感じを持たせるために、作業しているプログラミング言語またはコミュニティの標準、命名規則などを採用してください。

  1. ラップするか抽象化しますか?それが問題です。は、あなたができるだけ多くのREST APIメソッドおよび構造を模倣するが、単にハード物事が容易のいくつかを作るラッピングことで

。このアプローチの最大の利点の1つは、ターゲットREST APIのアップグレード時にアップグレードが容易になることです。ターゲットREST APIが複雑な場合や振る舞い、非標準的な方法で見たときを抽象化

に便利です。この場合、ラッパーメソッドと呼び出しは、ターゲットREST APIメソッドにまったく似ていない可能性がありますが、最終的にラッパーを使用している人の生活が(うまくいけば)簡単になります。

3

は、これらのものをチェックしてください:

StackOverflowの上の他の同様の議論は次のようにありますが、 JavaScript REST client Library

+0

冗長化されたバージョンは20kbですが、安らかなバージョンは78kbです。私が思うように、RESTには多すぎます。 – Seigiard

+1

restful.jsはimmutable.jsに依存しています。immutable.jsは、縮小された安らかなソースの50kb以上を占めています。すでに構築するためにあなた(ReactJs/Reduxのプロジェクトのための非常に一般的である)アプリケーション、および使用のWebPACKにimmutable.jsを使用する場合は、immutable.jsは一度だけ追加されます。したがって、安静の大きさは、Restangularによく似ています。 –

+1

また、Angularを使用する場合は、必ずRestangularを使用する必要があります。 Restful.jsはAngularを使用しないアプリケーションに適しています。その場合、Angulerのソース($ httpなど)の一部を何とか安心して移植する必要があります。 –

関連する問題