반응형
Swagger DTO 만들다가 boolean이랑 Boolean 차이 때문에 해맨적이 있다.
당연히 비슷한 줄 알았는데, 막상 써보니까 엄청 달랐다.
null 포함 여부가 엄청 중요함!
✅ boolean
- primitive 타입.
- 무조건 true / false.
- null 불가.
- Swagger에서 nullable=false로 뜸.
- 값 안 주면 false가 기본값.
- 단순한 상태 표현할 땐 이걸로 충분함.
✅ Boolean
- Wrapper 타입.
- true / false / null 가능.
- Swagger에서 nullable=true 설정됨.
- 값이 있을 수도 없을 수도 있을 때 유용함.
- null 체크 안 하면 NPE 터짐.
- 그래서 Boolean.TRUE.equals(값) 이런 식으로 체크하는 게 안전.
실제 사용 예
public class UserDTO { private boolean isActive; // false 기본값, null 불가 }
public class UserDTO { private Boolean isActive; // true / false / null 가능 }
상황추천 타입
항상 값이 있어야 하는 경우 | boolean |
값이 없을 수도 있는 경우 (nullable) | Boolean |
DTO/Swagger에서 null 허용해야 할 때 | Boolean |
Boolean 값을 비교할 때 | Boolean.TRUE.equals(value) 사용 |
결론
- 값이 꼭 있어야 하면 boolean
- 값이 없어도 되면 Boolean (null 허용)
- Swagger에선 거의 무조건 Boolean 써야 깔끔함
- 비교할 땐 Boolean.TRUE.equals(값) 습관들이기
728x90
반응형
'Java' 카테고리의 다른 글
Java Exception 처리 전략과 커스텀 예외 설계 (1) | 2025.06.08 |
---|---|
Java 코드 성능/메모리 사용량 최적화 (0) | 2025.05.07 |
sts3 설치 시 압축풀기 오류 (0) | 2024.03.03 |
sts4 - spring boot 자동 리로드 시키는법 (0) | 2024.01.12 |
sts4 롬복 설치 (0) | 2024.01.11 |