체인의정석

Nest.js) API 설계를 위한 피드백- 조회기능 본문

개발/backend

Nest.js) API 설계를 위한 피드백- 조회기능

체인의정석 2021. 10. 20. 19:08
728x90
반응형

API 설계를 하였는데 내가 설계한 부분은 그냥 data 만 들어간 부분이였다. 따라서 API의 응답도 구체화 시켜서 더 상세하게 설계하기로 하였다. 구현에서 다시 설계로 돌아와서 살펴보겠다.

 

조회할때도 상황에 따라서 GET과 POST를 구분한다.

상황에 따라서 get에 대한 경우와 post에 대한 경우를 구분한다.

get에 대한 부분은 파라미터가 하나일 때 사용하면 괜찮다.

POST인 경우 여러개의 입력값을 받아서 복잡한 쿼리를 실행  할 때 POST를 사용한다.

 

설계시에 이를 고려하여 설뎨를 해야 한다.

 

결과 값에 대한 객체를 만들어 주어야 한다.

 

결과 값에 대한 객체를 만들어주기 위하여 전송하는 데이터는 data로 두고 그 외에도 code 와 message를 리턴해 준다.

각 예외 상황에 맞게 알맞은 에러 메세지를 보내주어야 한다.

 

https://1-7171771.tistory.com/129

 

자주 사용되는 Http status code를 알아보자.

상황에 따른 HTTP status 코드 사용하기 Rest API 서버를 개발할 때 400 : Bad Request 와 200 : OK 만 사용하는 경우가 있는데, 상황에 따라 조금 더 명확한 정보를 전달할 수 있는 HTTP 상태코드를 알아보자. 1

1-7171771.tistory.com

위 블로그 글에서 필요한 부분만 빼서 정리해 보았다.

일단은 요청 상태를 간단하게 몇가지만 추려서 표시할 예정이다.

먼저 2XX와 같은 경우 정보를 담는 코드라고 한다.

성공시 : 200 을 내보낼 예정이다.

2XX : Information

200 OK

요청이 성공적으로 완료되었으며, 정보를 함께 반환할 수 있다.

그다음 4XX와 같은 경우 클라이언트에서 정보값이 잘못 들어온 부분인데,  여기에 대해서는 추가할 것이 많이 보인다.

 

4XX : Client

400 Bad Reqeust

구문이나 메세지에 오류가 있는 경우이다. 가장 많이 쓰인다.

실패시 : 400을 보낼 예정이다

일단은 이렇게만 넣어두고, 나중에 고도화 작업을 할 때 더 추가를 시켜보겠다.

해당 내용을 넣은 응답값에 대한 코드는 다음과 같다.

 

이런응답은 다음과 같은 문서를 써서 관리한다.

결과적으로 구조를 다시 짠 후 , 각각 응답값을 모두 객체화 시켜서 아래와 같이 체계적인 응답으로 만들었다.

 

여태까지는 그냥 돌아가게만 만들었는데 이렇게 코드를 체계적으로 짜니까 보기도 좋고 예외상황을 앞뒤로 다 잡아줘서 더 안정성이 높을것 같다.

 

728x90
반응형
Comments