Подтвердить что ты не робот

Каковы хорошие примеры клиентских библиотек 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, обертывающих API REST, вы недавно видели. Не волнуйтесь о деталях реализации, просто дизайн API.

Спасибо!

4b9b3361

Ответ 1

Я смотрел действительно хорошее видео на хороший дизайн API. Определенно стоит смотреть.

RESTful API Design - второе издание

Вы также можете получить бесплатную книгу Дизайн веб-интерфейса - создавая интерфейсы, которые разработчики любят, в дополнение к вышеуказанному видео, перейдя в http://bit.ly/M28lOu

Что касается оберток, то стоит подумать о следующем:

  • Сделайте свою обертку непротиворечивой.

Принять стандарты, соглашения об именах и т.д. языка программирования или сообщества, с которым вы работаете, чтобы сделать обертку максимально естественной для тех, кто ее использует.

  1. Обернуть или абстрагироваться? Это вопрос.

В разделе Обертка вы максимально точно имитируете методы и структуру REST API, но упрощаете некоторые из них. Одним из самых больших преимуществ этого подхода является упрощение обновления при обновлении целевого REST API.

Тестирование полезно, когда целевой REST API является сложным или ведет себя и выглядит нестандартными способами. В этом случае ваши методы и вызовы обертки могут вообще не напоминать ваши целевые методы API REST, но в конечном итоге упростят жизнь (надеюсь) тех, кто использует вашу обертку.