Step-by-Step

[Spring] 6. 응답표준 (1) 본문

프로젝트/Eggo (Mobile App)

[Spring] 6. 응답표준 (1)

희주(KHJ) 2022. 4. 29. 16:38

응답표준(1)로 나타낸 이유는..

아무래도 처음이다 보니까 간단하게만 작성하였고, 나중에 수정할 여지(?)를 남겨두기 위해서이다. ㅋㅋㅋ

 

이 전까지는 스프링 내부에서 데이터를 DTO에 담아 DB까지 전달하는 과정을 구현했다.

 

이제 안드로이드 스튜디오와 통신을 하기 위해 구체적인 응답 표준을 작성해야 하는데,

실전에 적용하기에 앞서 필요한 것이 무엇인지 메모장으로 나타내보았다.

컴퓨터의 메모장을 켜서 현재 통신을 통해 데이터베이스에 접근하는 경우를 정리해보았다.

Rest API의 HTTP method를 적용한 응답표준을 작성할건데, 길거나 중요한 데이터는 Json의 body에 담아 전송할 것이다.

 

위의 메모장을 하나하나 살펴보면서 응답표준을 작성하였다.

Spring 프로젝트에서 작성하기에는 너무 복잡하고 힘들어서 VSCode를 켜서 따로 작성하였고,

위의 코드에서 HTTP 응답 코드는 아직 구체적으로 설정하지 못했기 때문에 무시하면 된다.

 

1. URI 정하기

- Controller 구현시 엉망진창(?) 내 맘대로 작성했던 부분을 깔끔하게 정리하기로 하였다.

- User에 관련된 내용은 /User로 시작하고, 고지서에 관한 내용은 /Bill로 시작하도록 설계하였다.

2. HTTP 메소드 정하기

- GET POST PUT PATCH DELETE 등 여러 메소드 중에 필요한 것을 선택하였다.

- GET POST는 데이터 생성 및 삽입 / PUT PATCH는 수정 / DELETE는 삭제 로 알고 있는데, 정확하게 파악하는 것이 중요하기 때문에 인터넷에 검색해보았다.

  • GET : 리소스 조회
  • POST : 요청 데이터 처리, 주로 데이터 등록에 사용
  • PUT : 리소스를 대체, 해당 리소스가 없으면 생성
  • PATCH : 리소스를 일부만 변경
  • DELETE : 리소스 삭제

 - 아직 안드로이드 쪽도 구현중이기 때문에 GET / POST만 사용하기로 했다

3. 상태코드

- HTTP 상태 코드는 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능이다.

- 100번대부터 500번대까지 나누는데 전반적인 의미는 아래와 같다.

  • 1xx (Informational): 요청이 수신되어 처리중
  • 2xx (Successful): 요청 정상 처리
  • 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요
  • 4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음
  • 5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함

- 우선 목표는 상태코드까지 파악하여 JSON에 담아 클라이언트에게 넘겨주는 것인데, 조금 더 공부를 하고 응답표준(2)에서 작성하도록 해야겠다.

 

 

[참조]

https://kyun2da.dev/CS/http-%EB%A9%94%EC%86%8C%EB%93%9C%EC%99%80-%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C/

Comments