Ответ
REST использует несколько ключевых контрактов (принципов), обеспечивающих его архитектуру:
- Ресурсы – всё представляется в виде ресурсов (URI).
- HTTP-методы – CRUD операции через GET, POST, PUT, DELETE и др.
- Без состояния (Stateless) – сервер не хранит состояние клиента.
- Кэширование – ответы могут кэшироваться.
- Единообразие интерфейса – стандартизация взаимодействия.
- Клиент-серверная архитектура – разделение ответственности.
Пример кода на Go (обработка REST-запроса):
func handleUser(w http.ResponseWriter, r *http.Request) {
switch r.Method {
case "GET":
fmt.Fprintf(w, "Получение пользователя")
case "POST":
fmt.Fprintf(w, "Создание пользователя")
default:
w.WriteHeader(http.StatusMethodNotAllowed)
}
}