본문 바로가기

spring boot6

[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.
[React] - 실시간 채팅 기능 구현(3) - React로 프론트단 코드 작성 사실 이 프로젝트를 진행하면서 React를 처음 써보았다.AI에 많이 의존하기도 했고, 부족한 부분이 많아서 프로젝트를 하나 더 진행하면서 더 익히고,리액트에 관한 포스팅도 해야겠다는 생각이 들었다. 보시는 분들도 좋은 코드는 아니니 많이 참고는 하지 마시고, 흐름 위주로 보셔도 좋을 것 같다. 프론트 - 백 연결setupProxy.jsconst { createProxyMiddleware } = require('http-proxy-middleware');module.exports = function (app) { app.use( '/api', createProxyMiddleware({ target: 'http://localhost:8080/api', .. 2024. 11. 14.
[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.