REST (Representational State Transfer) là một kiểu kiến trúc phần mềm cho các ứng dụng phân tán, được đề xuất bởi Roy Fielding năm 2000. REST không phụ thuộc vào bất kỳ giao thức cụ thể nào, nhưng hầu hết các triển khai REST đều sử dụng HTTP.
RESTful API là API tuân theo các nguyên tắc của REST:
- Client-Server: Tách biệt giao diện người dùng và lưu trữ dữ liệu
- Stateless: Mỗi request từ client phải chứa tất cả thông tin cần thiết
- Cacheable: Các response có thể được lưu trữ trong cache
- Uniform Interface: Giao diện thống nhất giữa các thành phần
- Layered System: Kiến trúc phân lớp
- Code on Demand (tùy chọn): Server có thể gửi code cho client thực thi
Spring Boot là một framework mạnh mẽ cho phép phát triển các ứng dụng Java nhanh chóng và dễ dàng. Spring Boot cung cấp nhiều tính năng để xây dựng REST API: