@Slf4j logging 관련 라이브러리는 다양하다. 이러한 라이브러리들을 하나의 통일된 방식으로 사용할 수 있는 방법을 SLF4J는 제공한다. SLF4J는 로깅 Facade이다. 로깅에 대한 추상 레이어를 제공하는 것이고 interface의 모음이다. Log Level ex. info 레벨이 설정되면 info 이상의 레벨인 info, warn, error에 대한 로그가 기록됨 Level이 높을수록 심각한 오류를 의미 trace : debug보다 세분화된 정보 debug : 디버깅하는데 유용한 세분화된 정보 info : 진행상황 같은 일반 정보 warn : 오류는 아니지만 잠재적인 오류 원인이 될 수 있는 경고성 정보 error : 요청을 처리하는 중 문제가 발생한 오류 정보 참고링크 - SLF4J
annotation
@JsonInclude(JsonInclude.Include.NON_NULL)은 Jackson 라이브러리에서 사용되는 어노테이션으로, JSON 직렬화 시에 특정 속성의 값이 null인 경우 해당 속성을 생성하지 않도록 지시합니다. 구체적으로 말하면, JsonInclude.Include.NON_NULL은 Jackson이 객체를 JSON으로 변환할 때, 해당 객체의 속성 중 값이 null인 속성들을 제외하고 JSON에 포함하도록 지정합니다. 이렇게 함으로써 생성된 JSON이 불필요한 null 값을 가지지 않게 되며, 일부 상황에서 JSON을 더 간결하게 만들 수 있습니다. 예를 들어, 다음과 같은 Java 클래스가 있다고 가정해봅시다: public class Person { private String name..
요약 Spring MVC의 @RestController은 @Controller와 @ResponseBody의 조합 (@Controller + @ResponseBody = @RestController) @Controller의 역할은 Model 객체를 만들어 데이터를 담고 View를 찾는 것. @RestController는 단순히 객체만을 반환하고 객체 데이터는 JSON 또는 XML 형식으로 HTTP 응답에 담아서 전송. 차이 1. @Controller는 클래스를 Spring MVC 컨트롤러로 표시하는데 사용 @RestController는 RESTful 웹 서비스에서 사용되는 특수 컨트롤러이며 @Controller + @ResponseBody와 동일 // 아래 두 코드는 동일한 동작 // @Controller..