Spring Boot 6

[Spring Cloud] Eureka Server / Client 구축하기

Eureka에 관해 간단하게 포스팅 해보겠다. 사용자가 서비스를 호출하면, 먼저 Eureka 서버에 해당 인스턴스가 등록되었는지 확인한다. 등록된 인스턴스가 확인되면, 로드 밸런서(LB)를 통해 요청을 해당 인스턴스에 전송한다. 프로젝트는 서비스 시작 시 Eureka 서버에 등록된다.API gateway 사용 이유각각의 마이크로서비스들은 서로의 포트 번호를 몰라도 된다.Front 에서는 요청을 Gateway로만 보내면 되기 때문에 Gateway 포트만 알면 모든 요청을 수행할 수 있다.모든 요청은 Gateway 를 거치기 때문에 로그를 쉽게 다룰 수 있다.Gateway 가 요청의 진입점이므로 통합 인증을 수행할 수 있다.특히, eureka로 등록한 서비스들은 랜덤 포트번호를 가지도록 하였는데 계속 바뀐 ..

Spring Boot 2024.10.15

[Spring JPA] @Where 어노테이션으로 인한 Foreign Key 제약 문제

프로젝트에서는 처음에 하드 딜리트를 구현한 후, 나중에 소프트 딜리트로 업데이트하기로 계획했다. 어쩌다 보니 다른 팀원 분이 소프트 딜리트를 먼저 구현 한다 해서... deleted 필드 하나 추가 하니까 먼저 구현하고 있어도 괜찮을 거라 생각했다... 이것이 재앙의 시작이였다...ㅎㅎ허헣1) 문제 발생"could not execute statement [Cannot delete or update a parent row:a foreign key constraint fails (`juinjang-db`.`limjang`, CONSTRAINT `FKjqr2spmi16ldk4bk5uvqkjj8r`FOREIGN KEY (`member_id`) REFERENCES `member` (`member_id`))] [d..

Spring Boot 2024.09.12

[Spring boot] Apple login

오늘은 애플 로그인 관련해 포스팅해보겠다. 애플로그인 API 연동 초기 설정은 이 블로그를 참고해서 설정해주었다.https://tyrannocoding.tistory.com/65 [초간단] 애플 로그인 API 연동 초기 설정 하기IOS 앱 배포를 위해 본인의 어플을 애플에 심사함에 있어, 소셜 로그인 기능을 사용하지만 애플 로그인이 없으면 reject사유가 되므로 전혀 고려하지 않은 애플 로그인을 만들게 되었습니다. 여러tyrannocoding.tistory.com 먼저 로직을 간단히 설명해보겠다. 1. 클라이언트로 부터 identity token을 받아온다. 2. public key를 요청한다3. public key 응답을 받는다. (key 배열을 뜻한다. 생성된 public key와 헷갈리가 때문에 ..

Spring Boot 2024.06.20

[Spring boot] API 문서 자동화를 위한 Swagger 연동

1. Swagger 의존성 추가2.x 버전Swagger를 사용하기 위해서는 추가적인 의존성이 필요하다.implementation 'org.springdoc:springdoc-openapi-ui:1.6.15'implementation 'io.springfox:springfox-swagger2:2.9.2'implementation 'io.springfox:springfox-swagger-ui:2.9.2' 2. config 패키지 생성이후 config 패키지를 만들어 준다. @Configurationpublic class SwaggerConfig { @Bean public OpenAPI StudyAPI() { Info info = new Info() .titl..

Spring Boot 2024.01.01

[Spring boot] Web Socket을 활용한 채팅 구현

채팅 기능을 구현 해보았는데요..엉망진창 느낌이라 추후 다른 방법을 공부해서 다시 또 올려볼게요 (〃⌒▽⌒〃)ゝ 디렉토리 구조는 이러하다. 1. WebSocketConfig package com.spring.spring_personal_pj.webSocket; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component; import org.springframework.web.socket.server.standard.ServerEndpointExporter; @Component public class WebSocketConfig { @Bean //웹 소켓 end point bean에 등록..

Spring Boot 2023.11.22