[Spring boot + Rest API] Overview
This post has been more than 2 years since it was last updated.
1. Các cách để xây dựng rest api trong spring
Để xây dựng rest api trong spring có thể sử dụng nhiều cách. Phổ biến nhất là 3 cách dưới đây
- Sử dụng annotation Controller
- Sử dụng annotation RestController
- Sử dụng jersey (Đây là một framework mã nguồn mở cho việc phát triển các rest api trong java) Chi tiết mình sẽ đi vào từng phần
2. Controller
Bình thường @Controller
được sử dụng đê xậy dưng các controller cho web. VÍ dụ thế này
@Controller
public class HouseController {
@RequestMapping(path = "/house")
public String index() {
return "house/index";
}
}
Tuy nhiên để sử dụng cách mapping trên như một rest api, ta chỉ việc thêm vào annotation @ResponseBody
. Annotation này có tác dụng thay vì tìm kiếm template house/index, thì dữ liệu trả về sẽ có đúng như dạng đã khai báo trong method. Cụ thể ở đây là một String
@Controller
public class HouseController {
@RequestMapping(path = "/house")
@ResponseBody
public String index() {
return "house/index";
}
}
3. RestController
RestController đơn giản là sự kết hợp của 2 annotation @Controller
và @Responsebody
.
@RestController
public class CarController {
@GetMapping(path = "/car/{id}")
public String get(@PathVariable("id") int id) {
switch (id) {
case 1:
return "Day la car 1";
case 2:
return "Day la car 2";
default:
return "Day la car n";
}
}
}
4. Jersey
Để sử dụng Jerset trong spring boot, bạn phải thêm dependency sau:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>2.23.2</version>
<type>jar</type>
</dependency>
Và khai bao ResourceConfig
@Configuration
@ApplicationPath("/api")
public class MyResourceConfig extends ResourceConfig {
public MyResourceConfig() {
registerEndpoints();
}
private void registerEndpoints() {
register(MoneyController.class);
}
}
5. Demo
All Rights Reserved