[Spring boot + Rest API] Overview
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);
}
}
Comments