Spring & Spring Boot10 [Spring Boot] 공통 response 포맷 만들기 프로젝트 진행 중, 백엔드에서 프론트엔드로 response를 보내줄 때ResponseEntity가 아닌, 공통된 response 포맷을 만들어서 사용하면 좋겠다라는 피드백을 받았다. 공통 response DTO를 만들어서 사용하면 어떤 이점을 가져갈 수 있을까? 장점일관된 응답 구조모든 API 응답에 동일한 구조를 제공하여 프론트 측에서 데이터를 처리하기 쉽다.유지보수 용이성응답 구조가 변경되어도, 공통 response DTO만 수정하면 모든 관련 API의 응답 구조가 동시에 업데이트 된다.코드를 수정해야 할 범위가 좁아지고, 변경이 쉽다.재사용성 증가제네릭 타입을 로 사용하면, 다양한 타입과 함께 사용할 수 있다.사용 SuccessResponse.java@Getter@Builderpublic clas.. 2024. 11. 21. [Spring Boot / JPA] QueryDSL 개념, 사용법 그리고 사용예제 새로운 팀 프로젝트를 진행하며, QueryDSL을 사용해보기로 하였다.QueryDSL 의 개념부터 사용방법까지 알아보자. QueryDSL이란?Java 기반의 타입 안전한 쿼리 빌더 라이브러리이다.JPA와 함께 사용되며, JPQL을 대체하여 더 직관적이고 가독성 높은 쿼리 작성이 가능하다.JPQL(Java Persistence Query Language)보다 가독성이 좋고 유지보수가 쉬운 쿼리를 작성할 수 있다.QueryDSL 말고도 JPQL이라는 개념이 있는데, 이 기술도 데이터베이스 쿼리를 작성할 떄 사용된다.간단하게 특징을 알아보자. JPQL 특징문자열 기반 쿼리JPQL은 쿼리를 문자열로 작성한다. SQL과 유사한 구문을 사용하지만, 객체 중심의 쿼리로 JPA 엔티티를 대상으로 한다.비교적 직관적인 .. 2024. 11. 20. [Spring] 실시간 채팅 기능 구현(2) - Entity, Controller, Service 저번 포스팅에서 WebSocket,그리고 Controller 관련 설정까지 마쳤다.https://wook99.tistory.com/115 [Spring] 실시간 채팅 기능 구현(1) - WebSocket, 그리고 STOMP얼마 전 팀 프로젝트에서 구현했던 실시간 채팅 기능을 포스팅 해보려고 한다. 주요 개발 환경은 다음과 같다. Java - JDK21Spring Boot - 3.3.4React 구상했던 흐름도는 이렇다.1. 유저가 채팅 카테고리wook99.tistory.com 오늘은 Entity 작성,Controller, 그리고 Service까지 작성해보자 Entity ChatRoom.javapackage com.team5.pyeonjip.chat.entity;import com.team5.pyeonji.. 2024. 11. 12. [Spring] 실시간 채팅 기능 구현(1) - WebSocket, 그리고 STOMP 얼마 전 팀 프로젝트에서 구현했던 실시간 채팅 기능을 포스팅 해보려고 한다. 주요 개발 환경은 다음과 같다. Java - JDK21Spring Boot - 3.3.4React 구상했던 흐름도는 이렇다.1. 유저가 채팅 카테고리 선택 2. 채팅 대기방 진입 (WAITING)3. 관리자는 채팅 대기방 확인 가능4. 들어가려는 채팅 대기방 입장 버튼 클릭5. 양쪽 모두 채팅 대기방 활성화 (ACTIVE)6. 채팅 진행7. 채팅 종료 버튼을 눌러 양쪽 채팅방 종료(CLOSED) 이렇게 채팅방은 총 3개의 STATUS를 가진다. (WAITING, ACTIVE, CLOSED)채팅방 활성화는 오직 관리자만 진행할 수 있다. 구현에 앞서, WebSocket과 STOMP의 개념을 먼저 정리하겠다.WebSocket이란?W.. 2024. 11. 11. 이전 1 2 3 다음