Closed
Description
Description
각 레이어간 데이터 형식 정의
Nodejs에서는(Not nestjs) 응답형식도 정해야했던 기억이 있습니다.
스프링부트에서도 동일한지는 모르겠으나, 각 레이어간, 또는 HTTP Response의 데이터 형식을 통일시켜야함을 분명할 것입니다. (Default가 존재함에도)
자료조사와 형식 정의를 부탁드립니다. (출처 남겨주십시요)
참고: PR
// as is
return ResponseEntity.ok().body(save)
// to be
return ResponseEntity.body(posted).status(HttpStatus.OK)
참고: Nodejs 경험
하나하나 다 자유로운 Nodejs(?)
const Response = (statusStep = 1) => (
httpCode = 500,
message = '서버 내부에 장애가 발생했습니다.',
data = null,
) => {
return {
status: (statusStep === 0),
httpCode,
message,
data,
}
}
To do
- HTTP Response - (2xx 응답 데이터, 4xx 에러 데이터, custom-message/Type 등 형식 통일)
- Service => Controller 에러 형식 (즉 레이어 계층별 Error Handling)
그 외)
- 논의 후 Wiki에 정의
- http response는 프론트 엔드 개발자의 입장을 고려해주세요
- . 응답이 요청에 따라 타입이
object
,list
,text
,int
에 대한 parsing 처리 - 2xx 일때와 4xx일때의 형식이 아예 다르거나 하는 등
- . 응답이 요청에 따라 타입이
// frontend
// Default ?
const response = await axios.get('/book')
{ id: 1, title: '', ...}
const response = await axios.get('/books')
[{ id: 1, title: '', ...}, {...}, {...}]
const response = await axios.post('/book')
1234
// else, Custom
const response = await axios.get('/book')
{msg: 'success', data: {id:1, title: ''...}}
Test Checklist
- 개발자는 (앞으로 작성될) 문서를 통해 데이터 형식을 일치시켜 개발할 수 있어야합니다.
- 또는 해당 문서를 통해 코드 리뷰 할 수 있어야 합니다.
Metadata
Metadata
Type
Projects
Status
Done