Node.js

[Node] RESTful API

Chunho 2021. 11. 8. 15:27

RESTful API는 RESTful (REpresentational State Treansfer) 규정에 맞게 만든 웹 서비스를 의미한다.

 

RESTful 웹 서비스의 구조는 

 

GET방식 (조회)

POST방식 (추가)

PUT방식 (수정)

DELETE방식 (삭제)

으로 나뉜다.

 

위 방식에 맞춰 RESTfulgks 웹 서비스를 개발해보자.

DB는 DummyDB를 미리 작성해 놓았다. 

DummyDB는 get, insert, remove 메소드가 있다.

 

Dummy.get(id) -> id를 매개변수로 받아 해당 id가 포함된 정보를 JSON형태로 반환해준다.

Dummy.insert(data) -> 아래와 같은 JSON형태의 데이터를 매개변수로 받아 DummyDB에 저장한다. 

{ name: name, region: region}

Dummy.remove(id) -> 해당 id의 데이터를 삭제한다. 

 

get

먼저 GET 방식의 라우터를 설정해준다. /user의 경로로 접속했을 경우 DummyDB의 모든 JSON데이터를 출력하며, id를 params로 주어 접속 할 경우 해당 아이디의 JSON 데이터를 출력해준다. 

 

post

다음으로는 POST방식의 라우터를 설정해 준다. /user 경로로 데이터를 post했을 경우 name과 region이라는 변수로 받아, DummyDB에 데이터를 추가해 준다.

 

put

다음으로는 PUT 방식의 라우터를 설정해준다. /user경로에 params로 id 값을 주어 해당 경로에 put 요청을 했을 경우 request 받은 id, name, region값으로 DummyDB에 있는 값을 수정해 준다.

 

delete

마지막으로 DELETE 방식이다. /user의 params로 id값을 준 경로로 DELETE 요청을 보내면, 해당 id의 JSON 데이터를 삭제한 뒤 남아있는 DummyDB의 데이터들을 반환한다.

port

서버는 localhost의 4000번 포트로 접속했을 경우 응답하도록 설정하였다.

이와 같이 RESTful API를 작성한 후 

POSTMAN을 통해 잘 동작하는지 테스트해보자.

 

POSTMAN

user 경로로 POST요청을 했을 경우, 200의 상태코드와 함께 데이터 추가가 잘 된 것을 확인할 수 있다.

이제 localhost:4000/user 경로로 접속하여 추가한 데이터가 잘 출력이 되는지 확인해보겠다.

 

데이터가 잘 들어간 것을 확인할 수 있다.

 

다음으로는 POSTMAN 을 사용하여 DELETE 요청을 보내보겠다. 경로를 지정하여 아까 추가한 1번 id 의 데이터를 삭제해보자.

POSTMAN

상태코드 200번과 함께 DELETE 요청이 잘 보내진 것을 확인할 수 있다. 다시 localhost:4000/user 경로로 접속했을 경우,

 

삭제된 데이터

아까 추가했던 데이터가 삭제되고 빈 화면이 나타나는 것을 확인할 수 있다.