Node.js + PostgreSQL: CRUD 예

이 튜토리얼에서는 Express 및 Sequelize ORM을 사용하여 Node.js + PostgreSQL CRUD 예제를 빌드하는 방법을 단계별로 보여줍니다.

전체 기사: https://bezkoder.com/node-express-sequelize-postgresql/

Node.js PostgreSQL CRUD 예제 개요



제목별로 Tutorial을 생성, 검색, 업데이트, 삭제 및 찾을 수 있는 Rest API를 빌드할 것입니다.

먼저 Express 웹 서버로 시작합니다. 다음으로 PostgreSQL 데이터베이스에 대한 구성을 추가하고 Sequelize로 모델Tutorial을 만들고 컨트롤러를 작성합니다. 그런 다음 모든 CRUD 작업(사용자 지정 파인더 포함)을 처리하기 위한 경로를 정의합니다.

다음 표는 내보낼 Rest API의 개요를 보여줍니다.


행동 양식
URL
행위


가져 오기
API/튜토리얼
모든 튜토리얼 받기

가져 오기
API/튜토리얼/:id
자습서 받기id
게시하다
API/튜토리얼
새 자습서 추가

놓다
API/튜토리얼/:id
자습서 업데이트 작성자id
삭제
API/튜토리얼/:idid에 의해 자습서 제거

삭제
API/튜토리얼
모든 자습서 제거

가져 오기
API/튜토리얼/게시됨
게시된 모든 자습서 찾기

가져 오기
API/튜토리얼?제목=[kw]
제목에 포함된 모든 자습서 찾기'kw'


마지막으로 Postman을 사용하여 Rest API를 테스트합니다.

이것은 우리의 프로젝트 구조입니다.



데모 비디오



이것은 Express & Sequelize 애플리케이션 데모를 사용하는 Node.js PostgreSQL CRUD 예제이며 Postman으로 Rest API를 테스트합니다.



API 테스트



다음 명령으로 Node.js 애플리케이션을 실행합니다: node server.js .

Postman을 사용하여 위의 모든 API를 테스트합니다.
  • POST /tutorials API를 사용하여 새 자습서를 만듭니다.



  • 몇 가지 새 자습서를 만든 후 PostgreSQL 테이블을 확인할 수 있습니다.
    testdb=# select * from tutorials;
     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
    
  • GET /tutorials API를 사용하여 모든 자습서 검색


  • GET /tutorials/:id Api를 사용하여 id로 단일 Tutorial 검색


  • PUT /tutorials/:id Api를 사용하여 자습서 업데이트



  • 일부 행이 업데이트된 후 테이블 확인tutorials:
    testdb=# select * from tutorials;
     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
    
  • 제목에 'js'가 포함된 모든 자습서 찾기: GET /tutorials?title=js


  • GET /tutorials/published Api
  • 를 사용하여 게시된 모든 자습서 찾기


  • DELETE /tutorials/:id Api를 사용하여 자습서 삭제



  • id=4인 자습서가 tutorials 테이블에서 제거되었습니다.
    testdb=# select * from tutorials;
     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 /tutorials Api를 사용하는 모든 자습서 삭제



  • 이제 tutorials 테이블에 행이 없습니다.
    testdb=# select * from tutorials;
     id | title | description | published | createdAt | updatedAt
    ---------+-------+-------------+-----------+-----------+-----------
    

    자세한 내용, 구현 및 Github는 다음을 방문하십시오.
    https://bezkoder.com/node-express-sequelize-postgresql/

    추가 자료



    서버 측 페이지 매김:
    Node.js Express Pagination with PostgreSQL example

    풀스택:
  • Vue.js + Node.js + Express + PostgreSQL example
  • Angular 8 + Node.js Express + PostgreSQL example
  • Angular 10 + Node.js Express + PostgreSQL example
  • Angular 11 + Node.js Express + PostgreSQL example
  • React + Node.js + Express + PostgreSQL example

  • 보안:
    Node.js JWT Authentication & Authorization with PostgreSQL example

    좋은 웹페이지 즐겨찾기