본문 바로가기

Spring13

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.
Spring : Record 클래스 사용하기 Java의 Recod 클래스는 생성자, getter 메서드, toString메서드 등이 메서드들이 자동으로 생성되어 기존 클래스를 작성할 때보다 간결하게 객체를 생성할 수 있다. Record 클래스는 final로 상속이 불가능하며, 필드는 암묵적으로 final이다. 스프링에서 Record 클래스 사용하기1. Record 클래스로 DTO를 생성한다. Record 클래스로 생성하면 @Getter, @AllArgsConstructor, @ToString, @EqualsAndHashCode 어노테이션이 기본값으로 설정된다. 자동으로 제공되기 때문에 별도로 어노테이션을 추가할 필요가 없다. 아래 에제는 사용자ID, 장바구니 물건리스트, 장바구니 총합계에 대한 정보를 가지고 있는 CartDTO 클래스 이다. pac.. 2024. 10. 27.