Ответ
REST (Representational State Transfer) — это архитектурный стиль, который основывается на протоколе HTTP (или HTTPS для безопасности). REST использует стандартные методы HTTP как операции для работы с ресурсами.
| Основные HTTP-методы в REST: | Метод | Операция над ресурсом | Идемпотентность | Безопасность |
|---|---|---|---|---|
| GET | Получение (Read) | Да | Да | |
| POST | Создание (Create) | Нет | Нет | |
| PUT | Полное обновление/замена (Update/Replace) | Да | Нет | |
| PATCH | Частичное обновление (Partial Update) | Нет | Нет | |
| DELETE | Удаление (Delete) | Да | Нет |
Пример REST-запроса на Java:
// Использование HttpClient (Java 11+)
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.example.com/users/123"))
.header("Accept", "application/json")
.GET() // Используем HTTP метод GET
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println("Status: " + response.statusCode());
System.out.println("Body: " + response.body());
Ключевые принципы: REST является протоколо-независимым, но на практике почти всегда реализуется поверх HTTP из-за его повсеместности, простоты и наличия необходимых механизмов (коды состояния, заголовки).