본문 바로가기

컴퓨터공학/Spring & Hibernate

Spring> Spring Boot> Spring Data REST

Spring data jpa 처럼 Spring data rest 에 적용한다.

우리가 해야할 건 Spring data rest 를 pom 파일에다가 넣는 것이다. 

그거 말고 할 것은 없다.

 

필요한 것은

1. Entity 만들기

2. JpaRepository 상속하기

3. spring-boot-starter-data-rest를 pom에 등록하기

 

 

 

위는  spring data jpa 구조 

아래는 spring data rest 구조 

컨트롤러와 서비스가 없다.

아래에 메타데이터가 나오는데 이걸 HATEOAS라고 한다.

Hypermedia as the Engine of Application State

Rest 인터페이스에 접근할 수 있는 정보를 제공한다. 

Spring data rest는 HATEOAS를 이용하여 반응한다. 

HATEOAS 는 Hypertext Application Language(HAL) 데이터 포맷을 사용한다. 

 

 

 

 

 

 

 

이렇게 하면 http://localhost:8080/magic-api/employees

으로 입력해야 들어갈 수 있다.

그리고 page 크기 기본값은 20개이다.

application.properties 에서 

spring.data.rest.default-page-size=50 이라고 하면

페이지 당 50개를 보여준다는 뜻이다. 

 

더 많은 properties를 알고 싶으면 

Common Application Properties (spring.io)

 

Common Application Properties

 

docs.spring.io

 

 

 

Spring Data Rest 에서 업데이트할 때 id를 URL에 써야하는 특징이 있다.

 

 

기본적으로 spring data rest 는 endpoint를 entity 타입을 바탕으로 생성한다.

entity 타입의 첫 글자를 소문자로 만들고 끝에 s를 붙여서 endpoint를 만든다. 

 

 

 

Employee에서 firstname, lastname, email이 있을 때

분류를 설정할 수 있다.

http://localhost:8080/employees?sort=lastName

http://localhost:8080/employees?sort=firstName,desc

이렇게 할 수 있다.

기본값은 ascending이지만 명시하고 싶으면 asc라고 하면 된다.