21

軽量のJavaScriptクライアントでRESTAPIをラップするためのベストプラクティスのスタイルを探しています。

過去に、次のようなスタイルで実装されたライブラリを見てきました。

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);
});

最近、RESTAPIをラップする最新のJavaScriptクライアントライブラリの良い例を見てきました。実装の詳細については気にせず、APIの設計だけを気にします。

ありがとう!

4

2 に答える 2

10

優れた API 設計に関する非常に優れたビデオを見ました。間違いなく一見の価値があります。

RESTful API 設計 - 第 2 版

上記のビデオに加えて、http://bit.ly/M28lOuにアクセスして、無料の本Web API Design - Crafting Interfaces that Developers Loveを入手することもできます。

ラッパーに関しては、次のことを考える価値があるかもしれません:

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

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

  1. ラップするか抽象化するか?それが問題です。

ラップすることで、REST API のメソッドと構造を可能な限り模倣しますが、単純にいくつかの難しいことを簡単にします。このアプローチの最大の利点の 1 つは、ターゲット REST API のアップグレード時にアップグレードが容易になることです。

抽象化は、対象の REST API が複雑であるか、動作や外観が標準的でない場合に役立ちます。この場合、ラッパーのメソッドと呼び出しは、ターゲットの REST API メソッドとまったく似ていない可能性がありますが、最終的には、ラッパーを使用する人の生活を (できれば) 簡素化します。

于 2012-11-01T10:51:02.830 に答える
4

これらを確認してください:

JavaScript REST クライアント ライブラリなど、StackOverflow に関する他の同様の議論があり ます。

于 2015-03-10T14:45:01.723 に答える