728x90

JAVA 109

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

Spring Boot: JPA 연관관계 설정하기 -2, 최신순 정렬, 삭제된 게시글 제외 하고 조회

Post와 Reply 도 1: N 관계이다. 연관 관계를 만들어 줘야 한다. PostEntity 수정@OneToMany(mappedBy = "post")private List replyList = List.of();// 빈 리스트를 기본으로 PostService 수정 //답변 같이 보여주기.// @OneToMany를 통해 자동으로 list를 보내 주므로 필요없어짐//var replyList = replyService.findAllByPostId(it.getId());//it.setReplyList(replyList);  ReplyEntity 추가 :@ManyToOne@ToString.Exclude@JsonIgnoreprivate PostEntity post; //PostEntity @OneToMany(..

JAVA/프로젝트 2024.04.27

Spring Boot: JPA 연관관계 설정하기, Dto, Converter

보드와 포스트는 1:N 관계 (게시판에 여러개의 게시글이 올라올 수 있으니)포스트와 리플라이는 1:N 관계 (게시글에 여러개의 댓글이 달릴 수 있다. )  JPA를 사용하게 되면public List findAllByPostId( Long postId){ return replyRepository.findAllByPostIdAndStatusOrderById(postId, "REGISTERED");}이러한 부분을 쉽게 오브젝트, ORM으로  활용이 가능하다.  = 객체 지향적으로 데이터베이스를 컨트롤 하는 것이 가능해진다.  ORM? 객체 관계 매핑. JPA는 자바 클래스와 데이터의 테이블 간의 매핑을 지원한다. 이를 통해 복잡한 쿼리를 작성하지 않고 객체를 통해 데이터를 조작할 수 있다.  BoardC..

JAVA/프로젝트 2024.04.27

Spring Boot: End point 개발 3, 게시글과 게시글에 달린 답변 같이 보기

게시글(post)에 postid, password를 입력하고 들어가면 밑에 달려있는 댓글을 같이 보는 기능 개발,관리자는 post 에 대한  댓글을 달기 위한 작업 개발.reply만 가져오는 것이 아니라 사용자의 원본 글의 리스트로 내려갈 수 있도록 개발 입력 받는 댓글 모델 생성 package com.example.myboard.reply.model;import com.fasterxml.jackson.databind.PropertyNamingStrategies;import com.fasterxml.jackson.databind.annotation.JsonNaming;import jakarta.validation.constraints.NotBlank;import jakarta.validation.cons..

JAVA/프로젝트 2024.04.27

Spring Boot: End point 개발 2, 조회, 개별 조회, 삭제

생성 create 했다면보는 기능view, 삭제 delete 도 필요하다.  view(아이디별 조회): 익명 게시판이기 때문에 @GetMapping(),@PathVariable로 id를 받아서 조회하는 것은 불가능하다.작성할 때 입력한 비밀번호가 입력되어야 열람 가능한 형태. @PostMapping("/view") 로 처리해주고path로 못받으니 body로 받아야 한다. 비밀번호와 아이디를 입력 받을 또 다른 모델이 필요하다.  model - PostViewRequest 클래스 생성보기 위해선 postId, password을 입력해야 한다.package com.example.myboard.post.model;import com.fasterxml.jackson.databind.PropertyNamingSt..

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