For instruction, please visit:
Node.js CRUD Rest APIs with Express, Sequelize & PostgreSQL example
We will build Rest Apis that can create, retrieve, update, delete and find Tutorials by title.
The following table shows overview of the Rest APIs that will be exported:
- GET
api/tutorials
get all Tutorials - GET
api/tutorials/:id
get Tutorial by id - POST
api/tutorials
add new Tutorial - PUT
api/tutorials/:id
update Tutorial by id - DELETE
api/tutorials/:id
remove Tutorial by id - DELETE
api/tutorials
remove all Tutorials - GET
api/tutorials/published
find all published Tutorials - GET
api/tutorials?title=[kw]
find all Tutorials which title contains 'kw'
Front-end that works well with this Back-end
Angular 8 / Angular 10 / Angular 11 / Angular 12 / Angular 13 / Angular 14 / Angular 15 / Angular 16 / Angular 17
This is our Node.js PostgreSQL CRUD example using Express & Sequelize application demo, test Rest Apis with Postman.
Node.js PostgreSQL CRUD example Github
Run our Node.js application with command: node server.js
.
Using Postman, we're gonna test all the Apis above.
- Create a new Tutorial using
POST /tutorials
Api
node-js-postgresql-crud-example-create
After creating some new Tutorials, you can check PostgreSQL table:
id | title | description | published | createdAt | updatedAt
----+-------------+-------------------+-----------+----------------------------+----------------------------
1 | Node Tut #1 | Tut#1 Description | f | 2020年01月29日 10:42:57.121+07 | 2020年01月29日 10:42:57.121+07
2 | Node Tut #2 | Tut#2 Description | f | 2020年01月29日 10:43:05.131+07 | 2020年01月29日 10:43:05.131+07
3 | Node Tut #3 | Tut#3 Description | f | 2020年01月29日 10:43:48.028+07 | 2020年01月29日 10:43:48.028+07
4 | Js Tut #4 | Tut#4 Desc | f | 2020年01月29日 10:45:40.016+07 | 2020年01月29日 10:45:40.016+07
5 | Js Tut #5 | Tut#5 Desc | f | 2020年01月29日 10:45:44.289+07 | 2020年01月29日 10:45:44.289+07
- Retrieve all Tutorials using
GET /tutorials
Api
node-js-postgresql-crud-example-retrieve-all
- Retrieve a single Tutorial by id using
GET /tutorials/:id
Api
node-js-postgresql-crud-example-retrieve-one
- Update a Tutorial using
PUT /tutorials/:id
Api
node-js-postgresql-crud-example-update
Check tutorials
table after some rows were updated:
id | title | description | published | createdAt | updatedAt
----+----------------+-------------------+-----------+----------------------------+----------------------------
1 | Node Tut #1 | Tut#1 Description | f | 2020年01月29日 10:42:57.121+07 | 2020年01月29日 10:42:57.121+07
3 | Node Tut #3 | Tut#3 Description | f | 2020年01月29日 10:43:48.028+07 | 2020年01月29日 10:43:48.028+07
2 | Node Js Tut #2 | Tut#2 Description | t | 2020年01月29日 10:43:05.131+07 | 2020年01月29日 10:51:55.235+07
4 | Js Tut #4 | Tut#4 Desc | t | 2020年01月29日 10:45:40.016+07 | 2020年01月29日 10:54:17.468+07
5 | Js Tut #5 | Tut#5 Desc | t | 2020年01月29日 10:45:44.289+07 | 2020年01月29日 10:54:20.544+07
- Find all Tutorials which title contains 'js':
GET /tutorials?title=js
node-js-postgresql-crud-example-search
- Find all published Tutorials using
GET /tutorials/published
Api
node-js-postgresql-crud-example-search-status
- Delete a Tutorial using
DELETE /tutorials/:id
Api
node-js-postgresql-crud-example-delete-one
Tutorial with id=4 was removed from tutorials
table:
id | title | description | published | createdAt | updatedAt
----+----------------+-------------------+-----------+----------------------------+----------------------------
1 | Node Tut #1 | Tut#1 Description | f | 2020年01月29日 10:42:57.121+07 | 2020年01月29日 10:42:57.121+07
3 | Node Tut #3 | Tut#3 Description | f | 2020年01月29日 10:43:48.028+07 | 2020年01月29日 10:43:48.028+07
2 | Node Js Tut #2 | Tut#2 Description | t | 2020年01月29日 10:43:05.131+07 | 2020年01月29日 10:51:55.235+07
5 | Js Tut #5 | Tut#5 Desc | t | 2020年01月29日 10:45:44.289+07 | 2020年01月29日 10:54:20.544+07
- Delete all Tutorials using
DELETE /tutorials
Api
node-js-postgresql-crud-example-delete-all
Now there are no rows in tutorials
table:
id | title | description | published | createdAt | updatedAt
----+-------+-------------+-----------+-----------+-----------
More Practice:
Node.js Express File Upload with Google Cloud Storage example
Security:
Node.js JWT Authentication & Authorization with PostgreSQL example
Associations:
Fullstack:
Integration (run back-end & front-end on same server/port)
npm install
node server.js