RESTful Web API Design with Node.js, 2nd Edition

RESTful Web API Design with Node.js, 2nd Edition
RESTful Web API Design with Node.js, 2nd Edition
English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 2h 38m | 602 MB

Explore the practical side of REST to build data-centric applications with Node

RESTful Web APIs allow developers to create unprecedented applications by leveraging the data on the internet. Since JavaScript is the language of the web, building APIs using Node.js provides a seamless development experience on both the front end and the back end.

This video course gives you an overview of a RESTful API and goes through the logical steps of building one. It explores three different APIs, focusing on their similarities and differences to effectively implement one.

We’ll start off by defining APIs, showing you how they can be built on top of HTTP, and listing the properties that make an API RESTful. We will develop Twitter Notes, a web application that lets its users leave notes for their Twitter friends. We will use Twitter’s API to implement a login flow and then design a web API. In addition to using Twitter’s API, we will take a closer look at two other real-world APIs—Facebook API and GitHub API. Finally, we’ll look at some best practices to keep the APIs secure, maintainable, and performing.

By the end of this course, you will have a good grasp of APIs, HTTP, REST, OAuth 1.0a, API testing, and site reliability, performance, and security. Since the course explores three different REST APIs, you will reach a level where you will be comfortable using any RESTful API, even if it does not have an SDK.

What You Will Learn

  • Know what an API is and how it is used in client-server communication
  • Explore HTTP requests and responses and find out about the various fields that make up these requests and responses
  • Understand the architectural constraints and properties that make an API RESTful
  • Use Twitter’s API to tweet and search for tweets
  • Store Twitter’s data in our database to minimize the use of Twitter’s API
  • Use Async.js to handle Twitter’s API constraints
  • Test APIs using Postman and Apache Benchmark
  • Build the API on the server using Express.js and MongoDB
  • Find out about the Facebook Graph API, and its structure, resources, and permissions
  • Be introduced to GitHub API, its use of different representations, the PATCH verb, HATEOAS, and conditional requests
  • Get security tips to prevent session hijacking vulnerabilities
Table of Contents

REST Fundamentals
01 The Course Overview
02 What Is an API?
03 Communication via HTTP
04 Identifying REST Resources
05 Properties of RESTful APIs
06 Setting Up the Environment

Consuming a RESTful API
07 A Look at OAuth 1.0a
08 Sample Application Code Architecture
09 Creating an OAuth Login Request
10 Getting an Access Token
11 Exploring Twitter’s REST API
12 Accessing Cursored Collections with Async.js
13 Choosing a Database
14 Saving Data in MongoDB

Building a RESTful API
15 Designing the API Specifications
16 Creating the API Handlers
17 Acceptance Testing with Postman
18 Load Testing and Going Multicore
19 Testing User-Perceived Performance

APIs in the Real World
20 Facebook Graph API
21 GitHub API
22 IFTTT

Best Practices
23 Security Considerations
24 Documentation
25 Versioning
26 Caching
27 Reliability