Spring Bootの@RepositoryRestResourceアノテーションでCRUDを自動生成する方法

Spring Bootの@RepositoryRestResourceアノテーションでCRUDを自動生成する方法

@RepositoryRestResourceアノテーションをリポジトリインタフェースに付与し、POJOに紐づけると自動でCRUDが自動生成されます。

HTTPメソッド 処理
GET 全件取得
POST 登録
GET 1件取得
PUT マージ
DELETE 削除
PATCH 更新

Restリポジトリを依存関係に追加します。

build.gradle

implementation 'org.springframework.boot:spring-boot-starter-data-rest'

Employeeというエンティティを作成します。

package jp.co.confrage.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@Entity
public class Employee {
  @Id @GeneratedValue private Long id;
  private String name;
  private Integer age;
}

Employeeのリポジトリを作成し、インタフェースに@RepositoryRestResourceアノテーションを付与します。

package jp.co.confrage.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;

import jp.co.confrage.entity.Employee;

@RepositoryRestResource
public interface EmployeeRepository extends JpaRepository<Employee, Long> {}

これで上記のHTTPメソッドに対応するREST APIが自動生成されます。Swagger UIから確認できます。

Spring Bootの@RepositoryRestResourceアノテーションでCRUDを自動生成する方法

コメント

タイトルとURLをコピーしました