21

我正在寻找将 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);
});

您最近看到了哪些包装 REST API 的现代 JavaScript 客户端库的好例子。不关心实现细节,只关心 API 设计。

谢谢!

4

2 回答 2

10

我观看了一个关于良好 API 设计的非常好的视频。绝对值得一看。

RESTful API 设计 - 第二版

除了上述视频之外,您还可以通过访问http://bit.ly/M28lOu获得免费书籍Web API 设计 - 开发人员喜爱的制作接口

关于包装器,可能值得考虑以下几点:

  1. 使你的包装一致。

采用您正在使用的编程语言或社区的标准、命名约定等,以使包装器对使用它的人来说尽可能自然。

  1. 包装还是抽象?就是那个问题。

通过Wrapping,您可以尽可能地模仿 REST API 方法和结构,但只是让一些困难的事情变得更容易。这种方法的最大优点之一是它可以在目标 REST API 升级时更容易升级。

当目标 REST API 很复杂或行为和外观非标准时,抽象很有用。在这种情况下,您的包装器方法和调用可能根本不像您的目标 REST API 方法,但最终会简化那些使用您的包装器的人的生活(希望如此)。

于 2012-11-01T10:51:02.830 回答
4

检查这些:

StackOverflow 上还有其他类似的讨论,比如 JavaScript REST 客户端库

于 2015-03-10T14:45:01.723 回答