springboot 2

BaseEntity 구현 전략

Domain 상세 설계부터 Class Diagram, ERD, 구현 단계를 거치면서 Entity 들의 공통된 Attribute 들이 발견된다. 나는 의미론적으로 무게가 높은 반복되고 명시적인 코드가 아니면 무조건 abstract 로 추상화하는 것을 선호한다.누군가는 "굳이 귀찮게 공통된 소스를 분리하지말자, 나중에 해~" 라고도 한다.나는 이런 상황에 직시하자마자 "굳이 이렇게 단순하게 구현하지말자" 라고 한다.지각하지 않고 그냥 직관적인 나의 반응이다. 이 글은 Entity의 글자, 단어 하나 하나가 아닌 전체적인 의미와 방향성을 애기한다. 객체를 모델링할 때 스코프 내에서 상당히 자세한 행위와 특성을 추출하는데, 구체화하는 하향식 말고 이를 역행하여 상향식으로 접근해보자. 흔히, 웹서비스에서 다루는 ..

개발 2026.02.13

Springboot Controller 에서 OpenAPI 분리하기

Springboot Controller 에서 Request Body/Parameter 와 많은 Response, GET 요청의 필터들까지 포함하여 OpenAPI 를 작성하다보면 OpenAPI Annocation 의 라인수가 상당히 길어져 가독성이 떨어지고 화면이 넘어가 관리하기 힘든 상황이 발생한다. Controller 소스에서 API 기능과 OpenAPI 문서를 분리하여 가독성을 높이고 관리하기 용이하게 변경해보자. AS-IS우선, 기존의 Controller 가 아래와 비슷한 형태일 것이다.@RestController@RequiredArgsConstructor@RequestMapping("/api/v1/comment/like")public class BookmarkAddController { pr..

개발/spingboot 2026.02.11