728x90

JAVA 103

배달 플랫폼 백엔드 : rabbitmq

RabbitMQ- 메시지를 생성하는 프로듀서(= api server), 이를 큐에 저장하는 rabbitmq, 이 메세지를 읽어 소비하는 컨슈머(=가맹점 서버)- 비동기 방식 api server 가 퍼블리셔 역할이다. api 서비스에서 사용자가 주문을 하게 되면 (이벤트 발생 메세지 생성)api 서버가 q에 바로 메세지 넣는게 아니라,rabbitmq 는 exhange라는 곳에 메세지를 넣는다 - 이 메세지를 어디로 라우팅 시킬지 결정 하는 곳이 exchange, 컨트롤러 같은 역할.exchange는 어떤 메세지인지 구분해 특정한 q에 그 메세지를 넣어준다.  가맹점 서버가 컨슈머 역할을 한다.가맹점 서버가 q에 있는 데이터를 가져오고 처리한다. 컨슈머는 데이터를 넣을 수도 있고 꺼낼 수도 있다. 양방향 가..

JAVA/프로젝트 2024.06.14

'javax.persistence.Entity', Could not resolve all files for configuration ':compileClasspath'.

> Task :compileJava FAILED 1 actionable task: 1 executed FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':compileJava'. > Could not resolve all files for configuration ':compileClasspath'. > Could not find javax.persistence:javax.persistence-api:. Required by: project :  Executing 'build'... > Task :compileJava FAILED 1 actionable task: 1 executed FAILURE: ..

JAVA/에러 2024.06.10

Swagger.... Failed to load API definition. Fetch errorresponse status is 500 /v3/api-docsErrorsHideFetch errorresponse status is 500 /v3/api-docs.........

jakarta.servlet.ServletException: Handler dispatch failed: java.lang.NoSuchMethodError: 'io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema.addProperty(java.lang.String, io.swagger.v3.oas.models.media.Schema)'Caused by: java.lang.NoSuchMethodError: 'io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema.addProperty(java.lang.String, io.swagger.v3.oas..

JAVA/에러 2024.05.21

배달 플랫폼 백엔드 개발: Api Error code 적용

서비스 관련 에러 상태를 표현하기엔 Http status는 부족하다 account -  common - error 패키지 생성, ErrorCode, UserErrorCode enum클래스와 ErrorCodeIfs 인터페이스 생 package org.delivery.api.common.error;import lombok.AllArgsConstructor;import lombok.Getter;import org.springframework.http.HttpStatus;@Getter@AllArgsConstructorpublic enum ErrorCode implements ErrorCodeIfs{ OK(200 , 200 , "성공"), BAD_REQUEST(HttpStatus.BAD_REQUEST...

JAVA/프로젝트 2024.05.20

배달 플랫폼 백엔드 개발: API 공통 Spec 적용

HTTP 통신은 자기만의 status code를 가진다 (404, 502, 200 등)서비스를 하다보면 http status code만 가지고 표현하기 어려운 것들이 많다.이런 것들을 클라이언트에게 어떻게 전달할 것인지 api - common - api 패키지 생성 Api, Result 클래스 생성 package org.delivery.api.common.api;import jakarta.validation.Valid;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@AllArgsConstructor@NoArgsConstructorpublic class Api { private Result..

JAVA/프로젝트 2024.05.20

배달 플랫폼 백엔드 개발: Filter request, Response Log

현재 : 멀티모듈 상태, swagger 설정 완료    들어오는 리퀘스트 정보를 기록,나가는 기록을 로그로 찍는다. doFilter 기준으로 들어오고 나가는 정보에 대한 기록을 남긴다. filter package - LoggerFilter 생성package org.delivery.api.filter;import jakarta.servlet.*;import jakarta.servlet.http.HttpServletRequest;import jakarta.servlet.http.HttpServletResponse;import lombok.extern.slf4j.Slf4j;import org.springframework.stereotype.Component;import org.springframework.we..

JAVA/프로젝트 2024.05.20

MVC 기반 온라인 쇼핑 카트 구현하기: DB 설계

개념적 설계  물리적 모델링  테이블 스키마:use toy2;CREATE TABLE customer ( -- 고객테이블customer_id VARCHAR(50) NOT NULL, -- 고객아이디password VARCHAR(50) NOT NULL, -- 비밀번호customer_name VARCHAR(45) NOT NULL, -- 고객이름age INT, -- 나이rating VARCHAR(20) NOT NULL, -- 등급occupation VARCHAR(30), -- 직업reserves INT DEFAULT 0, -- 적립금PRIMARY KEY (customer_id));CREATE TABLE product ( -- 제품테이블product_number INT AUTO_INCREMENT, -- 제품번호pr..

JAVA/프로젝트 2024.05.05
728x90
반응형