API11 [spring webSocket - 스프링 웹소켓] : 간이 채팅방 구현 구조 채팅방 입장 시 웹소켓 connect~웹소켓 연결 성공 시, 종료 시 프론트 웹소켓 이벤트 핸들러로 채팅방 입·퇴장 메시지 해당 채팅방 유저들에게 message send채팅방 최초 입장 시 REST API 로 해당 채팅방 대화기록 모두 불러와서 화면에 뿌려줌채팅 참여자들이 메시지 보내면 [프론트 message send -> 백 webSocketHandler 데이터 처리]로 DB에 데이터 적재 및 해당 사용자들에세 session message send #1 스프링 이니셜라이저로 프로젝트 생성- 채팅방 같이 DB 적재가 자주 일어나야 하는 API 의 경우 NOSQL DB를 사용해야 하지만 - 나는 WebSocket 을 사용하며 개발을 진행한다는 것에 중점을 두어 그냥 MYSQL 을 사용하기로 하였다.. 2024. 9. 16. WebSocketHandler - 오버라이드 메소드, override method 정리 import org.springframework.web.socket.*;import org.springframework.web.socket.handler.TextWebSocketHandler;public class CustomWebSocketHandler extends TextWebSocketHandler { // WebSocket 연결이 성립되었을 때 호출되는 메서드 @Override public void afterConnectionEstablished(WebSocketSession session) throws Exception { // 새로운 WebSocket 연결이 성립되었을 때 실행되는 로직을 여기에 작성 System.out.println("웹소켓 연결됨:.. 2024. 9. 16. 메일 API : 이메일 보내기 API - (구글, 스프링부트) # 1 스프링 이니셜라이저를 통한 세팅앱 비밀번호가 프로젝트 내 smtp 설정에서 password로 사용될 것이다.※발급 시에만 보여지기 때문에 따로 메모장에 별도로 저장해두자 ※ # 2 build gradleplugins { id 'java' id 'org.springframework.boot' version '3.3.0' id 'io.spring.dependency-management' version '1.1.5'}group = 'com.static'version = '0.0.1-SNAPSHOT'java { sourceCompatibility = '21'}configurations { compileOnly { extendsFrom annotationProcessor }}repositories {.. 2024. 5. 29. Security/OAuth2(구글로그인)/JWT(access, refresh) 발행 및 저장 -개인 복습(API) 1부 해당 게시물 목차구글 로그인 (OAuth2 로그인) + 토큰 관리일반로그인 + 이메일 인증 java : 21framework : spring bootide : intelliJbuild tool : gradleview : react(로그인까지만 thymeleaf)db : mysql 8etc : jpa (프론트는 리액트로 개발할 것이나 일단 로그인 기능까지만 thymeleaf로 테스트하며 작업할 예정) - pom.xmlplugins { id 'java' id 'org.springframework.boot' version '3.2.5' id 'io.spring.dependency-management' version '1.1.4'}group = 'com.login'version = '0.0.1-SNAPSHOT'.. 2024. 5. 1. [API] 다중 파일 업로드 & 다운로드 (Ver. Part) [준비] IDE : 인텔리제이 java : java version "21.0.2" 2024-01-16 LTS DB : MySQL 8 View : thymeleaf (거의 사용 안 함) 기타 : PostMan , 스프링 이니셜라이저 사용 (Dependecy는 아래 build.gradle 코드 확인) build : gradle [project 구조] [ application.yml ] server: port: 8080 spring: datasource: url: "jdbc:mysql://localhost/files" username: "root" password: "각자 root 사용자 비밀번호" driver-class-name: com.mysql.cj.jdbc.Driver jpa: hibernate: dd.. 2024. 3. 24. 이전 1 2 다음