-
[Spring Boot] boolean값이 0 또는 false만 return할 때 해결 방법개발기록 2022. 11. 2. 09:31반응형728x90
개요
api를 호출해서 데이터를 받아쓰는데 boolean값이 0 또는 false로만 받아와졌다.
이 문제 해결 방법을 기록하고자 한다.
문제 코드 & 해결 방법
다른 문제가 아니라 lombok 라이브러리를 쓸 때, boolean타입의 필드명을 is~~로 작성한 것이 문제가 되었다.
getter / setter를 사용할 때 boolean 타입 필드명에 "is"를 쓰지 않는 것이 jackson의 java bean 네이밍 규칙이라고 한다.
필드명 앞에 is를 빼주니 해결되었다.
package com.??.domain; import lombok.Getter; @Getter public class Test { // private boolean isTest; // 문제가 되었던 코드 private boolean test; // 해결방법 }
cf)
아래에서 확인할 수 있듯,
문제가 되었던 코드를 해결방법으로 조치해도 바뀌지 않음, 자동으로 test.isTest()로 가져온다.
// Service 계층 public List<TestResponseDto> test(RequestDto requestDto) throws JsonProcessingException { TestRequestDto testRequestDto = objectMapper.readValue(requestDto.getValue(), TestRequestDto.class); List<Test> tests = testMapperRepository.getTestsByTitle(testRequestDto.getTestTitle()); List<TestResponseDto> result = new ArrayList<>(); tests.forEach(test -> { // 로그로 확인 log.info(Boolean.toString(test.isTest())); TestInfoResponseDto testInfoResponseDto = TestInfoResponseDto.builder() .test_id(test.getTestId()) // 문제가 되었던 코드를 해결방법으로 조치해도 바뀌지 않음, 자동으로 test.isTest()로 가져옴 .test_yn(test.isTest()) .build(); result.add(testInfoResponseDto); }); return result;
728x90'개발기록' 카테고리의 다른 글
[웹개발] Client - Server 간 pw 구간 암호화하기(SHA-256 + SALT) (0) 2023.01.02 [Regex] 정규식 / 정규표현식 (Regular Expression, Regex) (0) 2022.12.23 [Spring Boot] Real Remote(Client) IP Address 얻기 (1) 2022.10.11 [Spring Boot] request, response 로그 남기기1 - Console: 트러블슈팅 (1) 2022.10.11 [메모장 hosts] hosts파일에서 ip와 도메인 주소 매핑하기 (0) 2022.09.27