배경
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 (데이터가 애초에 입력된 적 없음) / "" (빈 문자열 값 으로 초기 화 됨)
'소프트웨어 개발자 > 좋은 API, DB 설계하기' 카테고리의 다른 글
[좋은 API 설계하기] API 버전 정책 (feat. 토스페이먼츠) (0) | 2024.01.31 |
---|---|
[좋은 API 설계하기] 조회 한 데이터 없음 - 상태코드 200? (0) | 2024.01.31 |
[좋은 API 설계하기] 한 페이지에 API 몇개? (0) | 2024.01.30 |
[좋은 API 설계하기] Query Parameter (쿼리파라미터) (0) | 2024.01.30 |
[좋은 API 설계하기] 기타 (0) | 2023.05.29 |