반응형 Spring8 ResponseBodyAdvice의 beforeBodyWrite와 String 반환형 @RestControllerAdvice를 이용하여 REST API의 모든 응답을 변환해주는 작업을 하려고 합니다. ResponseBodyAdvice 인터페이스를 구현하여 beforeBodyWrite 를 오버라이드하면 됩니다. 이것으로 API의 메서드 결과를 변환해서 새로운 결과를 응답하기 때문에 응답처리를 중앙화할 수 있다는 장점이 있습니다. 하지만 API의 메서드 반환값이 String일 경우에는 변환된 결과를 String class로 형변환을 할 수 없다는 예외를 발생시키기도 합니다. 문제의 코드는 AbstractMessageConverterMethodProcessor.writeWithMessageConverters 의 아래 표시된 영역이며, 형변환할 수 없다는 예외를 발생시킵니다. String이 .. 2024. 8. 8. 스프링 트랜잭션 스프링 트랜잭션은 스프링 프레임워크에서 데이터베이스 작업을 관리하기 위한 메커니즘입니다. 트랜잭션은 일련의 데이터베이스 작업들이 하나의 논리적 단위로 묶여서 수행되도록 보장하는 것으로, 모든 작업이 성공적으로 완료되거나, 하나라도 실패할 경우 이전 상태로 롤백되어 데이터의 일관성을 유지하는 것을 목표로 합니다. 스프링 트랜잭션의 정의를 좀 더 자세히 살펴보면 다음과 같습니다: ACID 속성 준수 스프링 트랜잭션은 데이터베이스 트랜잭션의 기본 원칙인 ACID(Atomicity, Consistency, Isolation, Durability)를 준수합니다. 이는 각각 원자성, 일관성, 격리성, 지속성을 의미하며, 트랜잭션이 안전하고 신뢰할 수 있는 방식으로 처리되도록 합니다. 원자성(Atomicity) 트랜.. 2023. 11. 26. Spring Lombok 이번에 새롭게 투입된 프로젝트에서는 lombok이라는 라이브러리를 사용하고 있다. 처음에는 이것의 존재를 모르고 있었는데, Github에서 프로젝트를 Cloning하고 Maven 업데이트를 했는데 프로젝트에 에러가 사라지지 않는 것이었다. 그래서 부장님께 여쭤보니 Lombok이라는 라이브러리를 Spring.ini에 등록을 해야 된다고 하셨다. * Lombok은 무엇인가? @(어노테이션)을 이용하여 자동으로 getter, setter 메소드등을 만들어주는 라이브러리이다. 출처: https://projectlombok.org/features/GetterSetter - Lombok을 적용한 코드 import lombok.AccessLevel; import lombok.Getter; import lombok.S.. 2018. 4. 26. Spring으로 다국어 페이지 만들기 회사 홈페이지를 다국어로 퍼블리싱을 해야 한다는 이야기를 듣고 나서 Spring을 이용한 다국어 페이지 만드는 방법을 여러가지 검색을 해보면서 구현을 해봤다. 나는 메세지 번들까지는 사용하지 않았다. 새로운 것을 적용하는데 오래 걸릴 것 같다는 불안감 때문에 JSTL로 분기를 나눠 JSP에서 화면상에 언어를 다르게 표현만 해주는 것으로 그쳤다. 거기까지만 했지만 알게 된 정보들이 있어 공유하려고 한다. 1. Locale을 이용해야 한다. Locale은 사용자의 언어, 국가 뿐 아니라 사용자 인터페이스에서 사용자가 선호하는 사항을 저장하는 매개 변수의 모임이다. 출처: https://ko.wikipedia.org/wiki/%EB%A1%9C%EC%BC%80%EC%9D%BC - Locale을 이용해서 서버에 .. 2018. 4. 22. 이전 1 2 다음 반응형