- vừa được xem lúc

Spring Data Rest & HAL (Hypertext Application Language)

0 0 17

Người đăng: Nguyễn Thành

Theo Viblo Asia

Hypertext Application Language hay còn gọi là HAL được sử dụng trong project Spring khi mà project có Spring Data Rest. Nó sử dụng để dễ dàng tạo các link đến các tài nguyên API, nói dễ hiểu công dụng của nó là để cho dev phía client hoặc user dễ truy cập và đọc các Method có sẵn trong Spring Data JPA hoặc các response được trả về dễ dàng hơn.

Ảnh minh hoạ: image.png

Cách để sử dụng HAL Explorer trong project spring

  • Đầu tiên trong pom.xml add 2 dependency như sau:
 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-rest</artifactId> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-rest-hal-explorer</artifactId> </dependency>

Sau đấy spring sẽ tự tạo ra bean có tên là profileController, **nếu như bị lỗi Already define thì là do trong controller đã có sẵn profileController. Vì thế hãy đổi tên của controller đấy ** Example:

@Controller("profileControllerBean")/* Đổi tên nào tuỳ ae */
public class ProfileController {
  • Vậy là xong rồi, để truy cập vào thì chỉ cần vào địa chỉ /profile trong đấy sẽ có các href cụ thể của từng cái, khi nhấn vào thì sẽ hiển thị lên 1 meta data về các method mà có thể sử dụng trong spring data jpa image.png

  • Nếu như muốn ẩn 1 số cái không cần thiết như pwd hay confim pwd thì chỉ cần thêm annotation @JsonIgnore là xong.

  • 1 Số ví dụ khi sử dụng : Ví dụ mình muốn list 1 bảng các contact theo trình tự name và size=3 thì mình có thể localhost:8080/contact?page=0&size=3&sort=name,asc

  • Tiếp đến để dùng HAL Explorer page thì đầu tiên mình phải config trong Application.properties

spring.data.rest.basePath=/data-api

mình để base url là /data-api, vậy thì chỉ cần vào đấy là sẽ có

-Và cuối cùng, để Secure thì xài spring-security thui

http.csrf().ignoringRequestMatchers("/api/**").ignoringRequestMatchers("/data-api/**").and() .authorizeHttpRequests() .requestMatchers("/data-api/**").authenticated() return http.build();

Cám ơn các bạn đã đọc bài viết này 😊

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tài nguyên nghiên cứu sâu Html

1. Articles and standards. . HTML 5.

0 0 183

- vừa được xem lúc

Embedded Template in Go

Getting Start. Part of developing a web application usually revolves around working with HTML as user interface.

0 0 40

- vừa được xem lúc

Full Stack Developer Roadmap 2021

Cách để trở thành một Full Stack Web Developer trên thế giới hiện nay. Các công ty đang luôn săn đón những developer có nhiều kĩ năng để cung cấp cho họ sự linh hoạt trong các dự án.

0 0 25

- vừa được xem lúc

Những kiến thức hay về Gradient: Gradient đẹp nhất chỉ được tìm thấy ở ngoài thiên nhiên!

. Quen thuộc từ lâu với rất nhiều người, nền Gradient chỉ là những bức nền với 2 hay nhiều dải màu sắc được hòa trộn với nhau. Đơn giản là vậy, nhưng càng ngày Gradient càng phổ biến hơn trong thiết kế Website ngày nay.

0 0 288

- vừa được xem lúc

What Is Session Fixation?

Session Fixation là một kỹ thuật tấn công web. Kẻ tấn công lừa người dùng sử dụng session ID đặc biệt.

0 0 33

- vừa được xem lúc

Làm thế nào để Design của Website thu hút hơn?

Xin chào các bạn. Bởi thế, không phải bàn cãi, thiết kế giao diện vừa thu hút, vừa chuyên nghiệp và ấn tượng là một trong những yếu tố quan trọng nhất trong cả quá trình phát triển 1 website.

0 0 23