Skip to main content

Mastering REST APIs in Node.js: Zero To Hero

8h 31m 29s
English
Paid

Ever wondered how REST APIs function? Do you wish to understand the intricate components needed to build REST APIs? Whether you're a developer transitioning from Java, PHP, Perl, or Python to Node.js, or curious about how relational and NoSQL databases operate, this course is for you!

Understanding REST APIs and More

Want to demystify JSON Web Tokens and token-based authentication? Curious about the buzzword GraphQL? Look no further — this comprehensive course covers the essentials of REST APIs, their architecture, HTTP methods, and extends your learning to include relational and NoSQL database support, authentication through tokens, and an introduction to GraphQL. As a bonus, Section 10 (Appendix B) guides you through implementing these concepts in a practical application, including user authentication.

Course Breakdown

Section 1 - Introduction to REST

Explore the fundamentals of REST, including its architecture, HTTP methods, status codes, and the reasons for developing a REST API.

Section 2 - Building Your First REST API in Node.js

Develop a simple API service using built-in Node.js modules, focusing on the core basics of REST API.

Section 3 - Express: Versatile Web Server for Node.js

Learn about Express, a leading web server framework for Node.js. Discover how to install and set it up for advanced routing, handle static files, and utilize query strings and parameters.

Section 4 - Relational Database Management Systems

Gain crucial insights into data storage with a focus on MySQL. Understand SQL queries and data manipulation to create functional REST APIs.

Section 5 - Crafting REST APIs with Relational Database Support

Use MySQL and later transition to Knex.js, a SQL Query Builder for Node.js, to design a REST API leveraging relational database knowledge.

Section 6 - NoSQL and REST API Creation

Dive into NoSQL databases, comparing them with relational systems. Utilize MongoDB, the most popular NoSQL database, to create effective REST APIs.

Section 7 - Securing REST APIs

Explore the importance of security in REST APIs. Learn token-based authentication and implement JWT for both relational and NoSQL REST APIs.

Section 8 - Introduction to GraphQL

Investigate GraphQL's role alongside REST APIs. Learn its basics and how to incorporate existing authentication into GraphQL.

Section 9 (Appendix A) - Tooling Overview

Get introduced to Insomnia, a vital tool for testing REST APIs, presented clearly in a single video segment.

Section 10 (Appendix B) - Application Development

Learn to build applications consuming the REST APIs taught in the course. Understand CORS' significance, environment variables, and create an app supporting user registration, login/logout, and a secure profile with JWT.

Course Requirements

  • Understanding of JavaScript (including ES2015)
  • Basic knowledge of NodeJS

Target Audience

  • Junior developers seeking REST API knowledge
  • Senior developers wanting to create REST APIs using NodeJS
  • Developers interested in REST API and GraphQL design
  • Developers interested in understanding REST APIs with Relational and NoSQL databases

Learning Outcomes

  • Architect and design a REST API from scratch
  • Master HTTP methods, verbs, and status codes
  • Introduction to MongoDB NoSQL queries
  • Introduction to MySQL Relational Databases and SQL
  • ExpressJS essentials: route handling and middleware
  • Secure REST APIs using JWT
  • Fundamental GraphQL concepts
  • Create an application consuming a REST API

About the Author: udemy

udemy thumbnail
By connecting students all over the world to the best instructors, Udemy is helping individuals reach their goals and pursue their dreams. Udemy is the leading global marketplace for teaching and learning, connecting millions of students to the skills they need to succeed. Udemy helps organizations of all kinds prepare for the ever-evolving future of work. Our curated collection of top-rated business and technical courses gives companies, governments, and nonprofits the power to develop in-house expertise and satisfy employees’ hunger for learning and development.

Watch Online 66 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 66 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Introduction to REST
All Course Lessons (66)
#Lesson TitleDurationAccess
1
Introduction to REST Demo
27:04
2
HTTP Methods and Status Codes
08:04
3
Why develop (and use) a REST API?
01:51
4
Create a REST API without external dependencies
17:20
5
Introduction to Express
01:38
6
Install Express
01:55
7
Basic route handling
05:26
8
Advanced routing via the Router object
03:30
9
Working with Static Files
02:16
10
Utilising Query Strings
02:16
11
Utilising Query Parameters
03:48
12
Introduction to Relational Databases
15:21
13
Introduction to SQL
05:17
14
Install Workbench
05:31
15
Create a database and a table
07:01
16
Insert data
02:37
17
Update data
01:45
18
Delete data
00:43
19
Advanced SQL statements
11:42
20
SQL JOINs - joining information in two tables
06:30
21
Reviewing the final setup
03:17
22
Designing our REST API
07:35
23
Using the MySQL Native Driver
06:59
24
Select data via the MySQL Native Driver (Using SQL's SELECT statement)
04:19
25
Introduction to Knex.js
05:21
26
Extend the REST API by using Knex.js
04:13
27
Using Express Middlewares
05:34
28
Posting data to the database via Knex.js
09:10
29
Patching data in the database with Knex.js
06:37
30
Deleting data from the database with Knex.js
03:21
31
Handling missing routes
02:43
32
Student Challenge: Create the route handlers for Departments
01:52
33
Use JOINs with Knex.js
11:02
34
Utilise Query Strings
06:56
35
Return an object instead of an array
01:42
36
Introduction to NoSQL
11:18
37
Install and load data to MongoDB
10:48
38
Basic queries in MongoDB
17:31
39
Updates and Aggregates
10:37
40
Create a blank application
02:13
41
Display all data from MongoDB
08:28
42
Display a single Document from MongoDB
06:47
43
Insert data in NoSQL
04:32
44
insert() vs insertOne() in MongoDB
02:41
45
HTTP Patch for MongoDB
03:59
46
Delete data from MongoDB
01:35
47
Handling errors
06:18
48
Loading additional documents to MongoDB
07:36
49
Query Parameters for NoSQL
06:12
50
Introduction to JWT (JSON Web Tokens)
08:05
51
Implement JWT for a SQL based REST API
23:47
52
Implement JWT for a NoSQL based REST API
11:48
53
Introduction to GraphQL
14:16
54
Query that returns a collection
20:29
55
Query that returns a single data object
04:34
56
Execute subqueries using GraphQL
10:34
57
Execute subqueries for nested data using GraphQL
04:20
58
A note on performance for RDBMS and GraphQL
05:58
59
Authentication for GraphQL and our REST API
06:34
60
Using GraphQL with NoSQL
20:06
61
Introduction to Insomnia
05:11
62
CORS
05:35
63
Using environment variables the smart way
04:36
64
Create an application to consume our REST API - part 1
06:55
65
Create an application to consume our REST API - part 2
13:55
66
Create an application to consume our REST API - part 3
31:55
Unlock unlimited learning

Get instant access to all 65 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription