1. 문제점DesisionLog 백엔드 서비스를 Docker 기반으로 배포하고, Nginx를 통해서 decision.ngup.kro.kr 도멘인으로 HTTP 접속이 가능하도록 구성했다. 아래 링크를 통해서 접속하도록 설정했다.https://decisionlog.duckdns.org DecisionLog decisionlog.duckdns.org하지만 실제 백엔드 애플리케이션은 Nginx 뒤에서 Docker 컨테이너로 실행되고 있으며, 내부에서는 다음 구조로 요청이 전달된다.사용자 브라우저 -> Nginx-> Spring Boot Backend 이 과정에서 Spring Boot가 외부 요청을 HTTPS가 아닌 HTTP 요청으로 인식하는 문제가 발생했다.또한 HTTPS 적용 전에는 HTTP 기반으로 COR..
이번글은 Spring Batch에 관한 글이다.SpringBatch는 Spring 생태계에 입문했다면 한번쯤 듣게되며 주로 대용량 처리에서 듣게 된다.Spring Batch 5.x.x version으로 진행할 것이며 이번글은 이 SpringBatch 카테고리의 2번재인 핵심 객체 및 관계에 대한 정의를 다뤄보려고 한다. 기본적인 개념을 다루기 때문에 코드에 대한 깊은 설명을 진행하지 않는다.공식 문서를 참고했다. Configuring a Step :: Spring BatchAs discussed in the domain chapter, a Step is a domain object that encapsulates an independent, sequential phase of a batch job and..
문제지금 식별한 부분중 처리되지 않는 에러MethodArgumentNotValidException 400MissingServletRequestParameterException 400HandlerMethodValidationException 400NoHandlerFoundException 404HttpRequestMethodNotSupportedException 405이들은 공통응답처리가 되지 않았다valid, validate, 없는 url과 없는 method로 호출할때가 공통응답 처리가 되지 않았다.@RestControllerAdvicepublic class GlobalExceptionHandler extends ResponseEntityExceptionHandler이유는 ResponseEntityExc..
1. 환경 변수 설정.envCASSANDRA_PORT=9042CASSANDRA_PORT_OUTPORT=9042CASSANDRA_CLUSTER_NAME=TestClusterCASSANDRA_DC=test_datacenterCASSANDRA_RACK=test_rackCASSANDRA_SEEDS=test_cassandraCASSANDRA_START_RPC=trueCASSANDRA_ENDPOINT_SNITCH=GossipingPropertyFileSnitchCASSANDRA_PASSWORD_SEEDER=trueCASSANDRA_USER=test_userCASSANDRA_PASSWORD=test_passwordCASSANDRA_KEYSPACE=test_coin_transaction변수 설명 CASSANDRA_PO..
1. 해결 방법jpa가 repository를 탐색하지 않도록 하는 커스텀 어노테이션을 사용해서 Jpa의 @ComponentScan.Filter에 걸리도록해 리jpa리파지토리 등록을 자동으로 하지 않도록 했다.QuerydslConfig@EnableJpaRepositories( basePackages = "진행하고 있는 프로젝트의 root폴더 ex: common.example", excludeFilters = @ComponentScan.Filter( type = FilterType.ANNOTATION, classes = ExcludeFromJpaRepositories.class ))@Configurationpublic..
Swagger 버전 및 의존성Springdoc-openapi를 사용한OpenAPI 3.0 스펙을 바탕으로 글을 작성했다.gradle의존성은 다음과 같다.implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0' 1. Operation 설정 및 모델 객체 필드 설명@Operation(summary = "User login", description = "사용자 입력해보세용", requestBody = @RequestBody(content = @Content(mediaType = "application/json", schema = @Schema(implementation = UserSwagger.class))))@Po..