1.RESTAPI프로젝트의 공부 목적에 맞게 만들어보지않았던 RESTAPI를 통한 프로젝트로 변경하여 만들어보기로하였다. 2.만들어야할 API?우선 만들어야할 API들을 정리해보았다.Auction - ✅전체불러오기(/auction) - ✅개별불러오기(/auction/{id}) - ❌정렬 - ❌검색 - ❌아이템올리기 - ❌아이템내리기 - ❌구입 - ❌페이징 user - ❌회원가입 - ❌로그인 - ❌유저정보 - ❌정보불러오기 - ❌가지고있는 아이템 - ❌경매장에 올린아이템 - ❌개인정보 변경 - ❌돈충전 - ❌로그아웃 #### item - ❌아이템 정보 - ❌아이템 생성 - ❌아이템 제거 - ❌아이템 정보수정 3.AuctionAPI우선경매장에 보이게 될 아이템들에 대한 API를 제작해주기로하..
1.의존성 주입(Dependency Injection)의존성 주입은 객체 간의 의존 관계를 외부에서 설정하는 디자인 패턴입니다. 이를 통해 객체가 다른 객체를 직접 생성하지 않고, 필요한 의존성을 주입받습니다.의존성 주입은 객체가 직접 다른 객체를 생성하지 않고 외부에서 주입받기 때문에 객체 간의 결합도가 낮아집니다.이는 소프트웨어의 품질을 높이고, 유지보수성을 강화하며, 테스트를 용이하게 만드는 강력한 패턴입니다. 2.@Autowired스프링 프레임워크에서 의존성 주입(Dependency Injection)을 수행하기 위한 어노테이션입니다. 이 어노테이션을 통해 스프링이 관리하는 빈(Bean)을 자동으로 주입받을 수 있으며, 객체 간의 의존 관계를 명시적으로 정의하지 않고도 효과적으로 관리할 수 있..
1.컨트롤러,서비스,레포지토리1-1.컨트롤러클라이언트의 요청을 처리하고, 그에 대한 응답을 반환합니다.주로 HTTP 요청을 수신하고, 적절한 서비스 메서드를 호출하여 결과를 받아옵니다. 1-2.서비스비즈니스 로직을 구현하며, 여러 레포지토리에서 데이터를 처리하고 조합합니다.서비스는 컨트롤러와 레포지토리 간의 중간 계층으로 작용합니다. 1-3.레포지토리데이터베이스와의 직접적인 상호작용을 처리하며, 데이터 CRUD(Create, Read, Update, Delete) 작업을 담당합니다. 스프링 데이터 JPA를 활용하여 자동으로 구현할 수 있습니다. 각각은 서비스,컨트롤러,레포지토리는 DTO를 통하여 서로 데이터를 주고받는다.클라이언트가 HTTP 요청을 보내면, Controller가 요청을 수신합니다.Co..
1.DTO(Data Transfer Object)계층 간 데이터 전달을 위한 객체입니다.스프링부트 애플리케이션에서는 컨트롤러, 서비스, 리포지토리 계층이 명확히 나뉘어져 있고, 이 계층 간에 데이터를 주고받기 위해 DTO를 활용합니다. DTO는 주로 데이터를 외부 API 요청 및 응답, 또는 내부 서비스 계층과의 데이터 전달 시 사용됩니다. 2.DTO의 body요소 무시?DTO 객체에 포함되지 않은 요청의 body 요소는 기본적으로 무시됩니다. 스프링부트에서 @RequestBody를 통해 데이터를 받을 때, 클라이언트가 요청 본문에 포함한 데이터가 DTO 클래스에 정의된 필드와 매핑됩니다. DTO 클래스에 정의되지 않은 필드는 자동으로 매핑되지 않고, 무시됩니다. 만약 다음과 같은 상황이면 pric..
0.Lombok반복적인 코드를 줄여주는 라이브러리Annotation을 기반으로 Getter,Setter 와 같은 코드들을 작성하지않고 사용할수있도록만든다.@Getter, @Setter: Getter/Setter 자동 생성.@ToString: toString() 메서드 자동 생성.@EqualsAndHashCode: equals()와 hashCode() 자동 생성.@NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor: 다양한 형태의 생성자 자동 생성.@Data: 주요 메서드 (Getter, Setter, ToString, EqualsAndHashCode) 자동 생성.@Value: 불변 객체 생성.@Builder: 빌더 패턴 자동 생성.@Slf4..
1.Swagger 란?RESTful API를 설계, 문서화, 테스트, 관리하는 데 사용되는 오픈 소스 프레임워크이다.직관적인 인터페이스와 자동화된 문서화를 제공한다. 2.SpringBoot와 연동2-1.SpringDoc OpenAPI Starter WebMVC UISpring Boot 애플리케이션에서 OpenAPI 3.0 사양에 맞춘 API 문서를 자동으로 생성하고, Swagger UI를 통해 API를 시각화할 수 있게 해주는 라이브러리이다. 의존성을 그대로 복사해서 프로젝트 의존성에 추가한다.https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-starter-webmvc-ui org.springdoc springdoc..
1.예외(exception)정상적인 경우에는 일어나지 않지만 발생할 수 있는 문제이다오류가 아니라 프로그램 실행 중 발생할 수 있는 예상 가능한 문제로, 특정 상황에서 발생하며, 일반적으로 사용자가 처리할 수 있는 문제이다.예외는 try-catch 블록을 사용하여 프로그래머가 직접 처리할 수 있습니다. 2.오류 (Error)프로그램의 실행 중 발생하는 심각한 문제로, 일반적으로 시스템의 상태나 환경 문제와 관련됩니다. 이러한 오류는 프로그램이 정상적으로 작동할 수 없게 만듭니다.일반적으로 이러한 오류는 프로그래밍적으로 처리할 수 없으며, 사용자에게 보고되거나 프로그램이 종료됩니다. 3. throw예외가 발생하면 throw문을 통하여 예외 객체를 생성할수있다. ,를 통해 여러 예외 던질수있음 3-..
1.Subclassing (is-a관계)클래스를 확장하여 새로운 클래스를 만든다.상속을 통해 구현한다.class Animal { // 상위 클래스 void eat() { System.out.println("Eating"); }}class Dog extends Animal { // 서브클래스 void bark() { System.out.println("Barking"); }} 2.Subtyping(can be used as)서로 다른 타입 간의 관계를 나타낸다.인터페이스 및 구현 클래스를 통해 구현한다.class Animal { // 상위 타입 void makeSound() { System.out.println("Animal sound");..