Server

REST API 서버 만들기 (6) - CRUD 메서드 만들기

donghune 2020. 4. 6. 11:34

<참고>

REST API 서버 제작 수업을 듣고 포스팅을 하는 게시글 입니다.

서버 개발자가 아니고, 노드를 전문적으로 사용하는 개발자가 아니기에 오류가 있을 수 있습니다.

 

윈도우로 진행하시는 분들은 콘솔 명령어 수행 시 GitBash 사용을 권장드립니다.


이번 강의에서 작업 할 내용

  • Route 파일 작성하기
  • GET [ SELECT ] 하기
  • POST [ INSERT ] 하기
  • PUT [ UPDATE ] 하기
  • DELETE [ DELETE ] 하기

Route 파일 작성하기

REST API는 총 3가지를 담고 있습니다.

http://localhost:3000/{field}?{query}&{query}

body : { body }

 

이 중에서 query 와 body 는 controller.js 에서 체크를 합니다.

즉, controller.js 로 들어가기 이전인 field 체크만 route에서 분기를 태워서 해당 controller.js의 함수를 실행시켜 주면 됩니다.

필드를 받기 위해서는 ":(fieldname)" 형식으로 추가해주시고 controller 에서 params 로 받으시면 됩니다. 

 


GET [ SELECT ] 하기

우리가 REST API 에서 검색을 하는 방법은 2가지가 있습니다.

 

다중 검색 : localhost:3000/users

단일 검색 : localhost:3000/users/1

 

하지만 위와 같이 패스를 구성 한다면 한가지 문제가 생깁니다.

바로 id 와 username 두가지로 검색을 하고 싶을때 못한다는 것이죠

 

그래서 간결하게 query를 이용해서

다중 검색 : localhost:3000/users

조건 검색 : localhost:3000/users?id=1

이렇게 코드를 작성해 보았습니다.

 

 


POST [ INSERT ] 하기

추가는 create 함수 입니다.

간단하게 body에서 데이터 정보들을 담아서 보내주면 됩니다!

 


PUT [ UPDATE ] 하기

수정은 update 함수입니다.

수정의 경우에는 유저 Model에서 Password만 수정을 하기에 body에서 password만 가져와서 수정을 진행하도록 합니다

 


DELETE [ DELETE ] 하기

삭제는 destroy 함수입니다.

 


이로써 간단하게 DB 연결 후 Sequelize 로 CRUD 작업을 해보았습니다.

하지만 이렇게는 API를 배포할 수 없고 권한과 여러가지 보안 작업을 더해보도록 하겠습니다.