본문 바로가기

Backend37

JPA: 엔티티 매핑 Entity 클래스를 생성하여 데이터베이스 테이블과 매핑하기 위해 사용되는 어노테이션은 아래와 같다.  Entity 매핑@Entity : JPA가 관리하여 테이블과 매핑되는 클래스이다. public 또는 protected생성자가 필요하다. final, enum, interface, inner 클래스는 엔티티로 사용할 수 없다.@Entity @Table : 엔티티와 매핑할 테이블을 지정한다.@Table( name="테이블 명", catalog="카탈로그명(MariaDB나 MySQL은 데이터베이스 이름이 사용됨)", schema="테이블이 속할 스키마 지정", uniqueConstraints={@UniqueConstraint(columnNames ={"유일한 값 보장 컬럼"})}) Fi.. 2025. 1. 14.
Spring : HATEOAS에 대해서 HATEOAS(Hypermedia As The Engine Of Application State)는 클라이언트와 서버 간의 상호작용을 동적으로 할 수 있도록 돕는 방식이다. 단순히 데이터만 포함하는 것이 아니라, 이 데이터와 관련된 추가적인 액션을 할 수 있는 하이퍼링크를 포함하여 해당 하이퍼링크를 따라가 애플리케이션 상태를 변화시키는 역할을 한다. HATEOAS시작하기1. Dependencies에 Spring HATEOAS를 추가한다.  implementation 'org.springframework.boot:spring-boot-starter-hateoas' 2. 보낼 데이터 객체를 생성한다. 레코드 타입의 UserDTO를 생성한다. package com.example.exercise1.dto;pub.. 2024. 11. 9.
Spring : JSON 데이터 처리에 대해서 @JsonIgnore Jackson 라이브러리에서 제공하는 어노테이션으로, 특정 필드를 JSON 직렬화 및 역직렬화 과정(객체를 JSON,XML 등으로 변환하는 것을 직렬화라고하고, 저장된 데이터를 다시 객체로 변환하는 과정을 역직렬화라고 한다.) 에서 무시하도록 지정하는 기능을 한다. 주로 클라이언트에게 전달하고 싶지 않은 데이터나 불필요한 데이터 전송을 줄이기 위해 사용된다. 접근자/변경자(필드, getter/setter, 생성자 매개변수) 중 하나에만 추가하면 전체 속성에 영향을 끼친다. @JsonIgnore 사용하기1. DTO 생성 및 @ JsonIgnore 적용// UserDTOpackage com.example.project1.dto;import com.fasterxml.jackson.anno.. 2024. 11. 3.
Spring: HTTP Body 요청 처리하기 HTTP 요청의 Body에 포함된 데이터를 처리할 때는 POST, PUT, PATCH, DELETE 메서드를 사용한다. 해당 메서드를 통해서 클라이언트가 서버에 데이터를 전송하고, 서버는 이 데이터를 바탕으로 로직을 수행한다. JSON 데이터 처리하기HTTP 요청의 Body에서 데이터를 가져오기 위해서는 @RequestBody 어노테이션이 필요하다. 아래 예제는 "name : codingji"와 "url : coding-ji.tistory.com"이라는 JSON 형식의 데이터를 POST 요청으로 받아 처리하는 로직이다. 아래 예제를 보여주기 위해서 포스트맨을 사용했다. package com.example.project1.controller;import org.springframework.http.Http.. 2024. 11. 3.
Spring : @GetMapping에 대해서 @GetMapping은 HTTP GET요청을 처리하기 위한 어노테이션이다. 특정 URL 경로와 메서드를 연결하여 클라이언트가 해당 URL로 GET 요청을 보낼 때, 지정된 메서드가 호출 된다. @Controller 혹은 @RestController 에서 사용이 가능하지만, 일반적으로 RESTful을 설계할 때 @RestController와 함께 사용한다. @Controller와 사용할 때는 @ResponseBody를 추가해야 JSON형식으로 응답을 반환할 수 있다. @GetMapping사용하기1. DTO 클래스를 정의한다.물품 정보를 전달하기 위한 데이터 전송 객체인 ProductDTO를 Record 클래스로 작성한다. package com.example.project.dto;public record P.. 2024. 11. 3.
Spring : 파라미터를 처리하는 방법 ( @PathVariable, @RequestParam, @RequestMapping ) 파라미터가 여러개 일 때파라미터가 여러개일 경우에는 @RequestMapping과 @GetMapping을 사용하여 간단하게 로직을 작성할 수 있다. 아래 예시는 /product 경로를 사용하여 여러 개의 파라미터를 처리한다. package com.example.project.controller;import com.example.project.dto.ProductDTO;import org.springframework.http.HttpStatus;import org.springframework.http.ResponseEntity;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotat.. 2024. 10. 27.