Spring data rest презентация

Features Provides rest api for domain model using HAL. Supports pagination. Allows to define projections.

Слайд 1Spring data rest


Слайд 2Features
Provides rest api for domain model using HAL.
Supports pagination.
Allows to define

projections.

Слайд 3What is HATEOAS?
HATEOAS is a concept of application architecture. It defines

the way in which application clients interact with the server, by navigating hypermedia links they find inside resource models returned by the server.
A core principle of HATEOAS is that resources should be discoverable through the publication of links that point to the available resources.

Слайд 4What is HAL?
HAL = Hypertext Application Language.
HAL is a generic media

type with which Web APIs can be developed and exposed as series of links.
MediaType = "application/hal+json"


Слайд 5What is HAL?
GET /orders/523 HTTP/1.1 Host: example.org Accept: application/hal+json

HTTP/1.1 200 OK Content-Type: application/hal+json { "_embedded" : { "transactions" : [ { ... } ] }, "_links" : { "first" : { "href" : "http://localhost:8080/api/transactions?page=0&size=20" }, …
}, "page" : { "size" : 20, "totalElements" : 26, "totalPages" : 2, "number" : 0 } }

Слайд 6Dependency

org.springframework.boot
spring-boot-starter-data-rest



Слайд 7RepositoryRestConfigurer
@Bean
public RepositoryRestConfigurer repositoryRestConfigurer() {
return new RepositoryRestConfigurerAdapter() {

@Override
public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
config.setBasePath("/api");
}
};
}


Слайд 8RepositoryRestConfigurer properties

basePath
defaultPageSize
maxPageSize
pageParamName
limitParamName
sortParamName
defaultMediaType
e.t.c.


Слайд 9Example
@RepositoryRestResource
public interface UserRepository extends JpaRepository {}


Слайд 10Supported http methods
GET
POST
PUT
DELETE
HEAD
OPTIONS


Слайд 11User
@Entity
public class User {
@Id @GeneratedValue
private long userId;
private String username;
private int age;
...getters/setters
}


Слайд 12How to access repository?
The path is derived from the uncapitalized, pluralized,

simple class name of the domain class being managed.

User -> …/users
…/users/3

Слайд 13GET request
…/users // find all users using

default pagination. Returns first page
…/users?page=1 // find all users using default pagination. Returns second page
…/users?size=2 // find all users using pagination by 2. returns first page.

Слайд 14POST request
…/users

body:
{
“username” : “test”,
“age” : “1”
}


Слайд 15PUT request
…/users/1

body:
{
“username” : “test”,
“age” : “1”
}


Слайд 16DELETE request
…/users/1


Слайд 17Custom database query
@RepositoryRestResource
public interface UserRepository extends JpaRepository {
Collection findByAge(@Param(“age”) int

age);
}



Слайд 18Custom database query call
.../users/search/findByAge?age=10


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика