Skip to content

Instantly share code, notes, and snippets.

@defly
Created June 30, 2016 09:14
Show Gist options
  • Save defly/4b4ed9a5896c986bed25151202ff9ea8 to your computer and use it in GitHub Desktop.
Save defly/4b4ed9a5896c986bed25151202ff9ea8 to your computer and use it in GitHub Desktop.
REST API over Node
API
- что такое и зачем
- API в WEB (http, soap, xml-rpc)
- API first, преимущества, use cases
- небольшой пример на Twitter API
REST API
- определение REST систем (отсылки к Roy Fielding)
- HTTP протокол
- URI
- методы
- статус коды
- базовые заголовки
- content-type
- Richardson Maturity Model
- пример REST lvl 0, pros/cons
- пример REST lvl 1, pros/cons
- пример REST lvl 2, pros/cons
- пример REST lvl 3, pros/cons
- конкретные реализации (HAL, Siren, JSON API)
Инструменты в экосистеме Node.js
- Express, Koa, Hapi (тут сравнить только по литературе смогу, например, https://www.airpair.com/node.js/posts/nodejs-framework-comparison-express-koa-hapi)
- Express
- routing
- middlewares
- цепочки
- обработка ошибок
- безопасность
- стандартные middlewares
- Проект API на чистом Express
- пример организации кода и app.js
- использование своих middlewares (авторизация, валидация, бизнесс-логика ...)
- тестирование
- mocha + supertest
- примеры тест-кейсов
- документация ApiDoc, Swagger, Blueprint
- Фреймворки (Sails, Feathers ...)
- они существуют:)
Другие современные подходы
- GraphQL, Meteor, Derby, WebSockets
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment