소프트웨어 개발자/좋은 API, DB 설계하기

[좋은 API 설계하기] 응답 Schema 의 Null 값 처리

yubi5050 2024. 1. 31. 00:27

배경

API 설계시 내려가는 Schema 값이 없을 경우, 다음과 같이 처리 할 수 있다.

 

1) Null을 그대로 내린다.

2) Null을 정해진 기본값(빈 문자열, 빈 리스트 등)으로 치환해서 내린다.

3) Null이 들어 있는 key를 처음부터 내리지 않는다.

 

사례

사례 1) 한 API를 여러 경우(화면) 에서 사용하며, 여집합 필드가 존재함

ex) A 화면에서는 해당 API의 a 필드가 사용되지만, B 화면에서는 해당 a 필드가 사용되지 않음.

- 여기서 화면별로 API를 처음부터 나누지 않는 이유는, UI 에 종속 되지 않는 API를 설계하기 위함

- B 화면에 대한 요청의 경우 1), 2) 중 선택 가능

 

사례 2) 동일 화면이지만 시점에 따라, 데이터의 특정 필드가 DB에 입력 된 적이 없는 경우

ex) C화면에서는 하나의 API를 사용하지만, 특정 시점에서는 데이터가 입력된 적이 없음.

- C 화면에 대한 요청의 경우  1), 2) 중 선택 가능

 

사례 2에 대한 질문) Null 에 대해 의미를 부여하느냐 

- Null : 데이터가 애초에 초기화 된적 없음 (입력된 적 없음) 

- "" : 데이터가 빈 문자열 "" 이란 값으로 초기화 되었음

- ex) 정수형 필드 : Null (데이터가 애초에 입력된 적 없음) / 0 (0이란 값 으로 초기 화 됨)

- ex) date 필드 : Null (데이터가 애초에 입력된 적 없음) / "" (빈 문자열 값 으로 초기 화 됨)