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

Слайд 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. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


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

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