Spring Data REST
3433 ワード
Spring Data Rest
RESTFul Webサービスとは、HTTP方式によるリソースアプリケーションCRUD操作のことである.
Spring Webを使用するには@RestControllerを使用してコントローラを作成および使用する必要がありましたが、Spring Data Restは自動のRESTful APIを提供しており、EntityとRepositoryインタフェースを個別のコントローラで表示および分析する必要はありません(非常に良いです)
Spring Data RestはSpring HATEOASとSpring Data JPAの機能を自動的に組み合わせます.
Spring HATEOAS?
Spring HATEOASがサーバからクライアントに応答リソースを送信する場合、利用可能なURIをリンクとして一緒に渡すことができ、クライアントは提供されたリンク情報に基づいてリソースにアクセスすることができる.すなわち、クライアントがサーバにREST要求を発行すると、サーバは各リソースを応答で参照できるURLを返す.
使用例
マニュアル
依存性
Spring Data Jpa,
h2
Rest REpositories
こうして3つ作りました
package com.study.practicespringboothateoas.accessingdatarest;
import javax.persistence.*;
@Entity
@Table(name = "person")
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "first_name")
private String firstName;
@Column(name = "last_name")
private String lastName;
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
上記のようにentityを定義します.package com.study.practicespringboothateoas.accessingdatarest;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
import java.util.List;
@RepositoryRestResource(collectionResourceRel = "people",path="people")
public interface PersonRepository extends PagingAndSortingRepository<Person,Long> {
List<Person> findByLastName(@Param("name") String name);
List<Person> findByFirstName(@Param("first") String first);
}
これにより,そのエンティティに対するcrudのコントローラを内部で自動的に生成することができる.Test
すぐにデータを挿入できます.
次にhalタイプのリンクも提供され、挿入データのリソースアドレスが自動的に生成されることがわかります.
リンクを使用して、生成されたデータを選択できます.
そして、リポジトリで定義されたList findByLastName(@Param("name")Stringname);使用するには、次のようにパラメータ値を渡します.
もしそうであれば、updateとdeleteも自動的に実行され、対応するリソースにデータを転送するだけでいいです.
これにより、Data Restは、コントローラやサービスを作成することなく、基本的なCRUDを提供します.
もっと勉強しなければならない内容
Reference
この問題について(Spring Data REST), 我々は、より多くの情報をここで見つけました https://velog.io/@fj2008/Spring-Data-RESTテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol