encoding, состоящей из четырёх уроков, разберём основные принципы архитектурного стиля REST, который чаще всего используется для обмена сообщениями в формате JSON. Затем рассмотрим структурные теги — они позволяют указывать метаинформацию об объекте или типе объекта, что даёт возможность соотносить поля структур и конечные данные при сериализации и обратном преобразовании. Два последних урока посвящены стандартным и сторонним сериализаторам данных.easyjson);GETGET для доступа к ресурсам, расположенным на сервере по указанному URL. Они могут кэшировать запросы GET и отправлять параметры в запросе, чтобы сообщить серверу о необходимости фильтровать данные перед отправкой.POSTPOST для отправки данных на сервер. При этом они включают в запрос представления данных. Отправка одного и того же запроса POST несколько раз имеет побочный эффект — многократное создание одного и того же ресурса.PUTPUT для обновления существующих на сервере ресурсов. В отличие от POST, отправка одного и того же запроса PUT несколько раз дает один и тот же результат в веб-службе.DELETEDELETE для удаления ресурса.Create, Read, Update и Delete. Эти четыре основные операции помагают разработчикам взаимодействовать с базами данных. Несмотря на то, что термин CRUD пришел из базы данных, теперь он отражает принцип разработки динамических приложений, например таких как HTTP, SQL и DDS (Data Distribution Service, cлужба распространения данных). Create — это процедура создания новой записи.Read — это процедура чтения/извлечения данных на основе требуемых входных параметров.Update — это процедура для изменения записей.Delete — процедура для удаления (одной или нескольких) записей.POST, PUT и других методов HTTP.{"name":"Sasha", "age":30} PUT и DELETE по определению идемпотентны. Тем не менее, есть один нюанс с методом DELETE. Проблема в том, что успешный DELETE-запрос возвращает статус 200 OK или 204 No Content, но для последующих запросов будет все время возвращать 404 Not Found. Состояние на сервере после каждого вызова DELETE то же самое, но ответы разные.GET, HEAD, OPTIONS и TRACE определены как безопасные. Это означает, что они предназначены только для получения информации и не должны изменять состояние сервера. Они не должны иметь побочных эффектов, за исключением безобидных эффектов, таких как: логирование, кеширование, показ баннерной рекламы или увеличение веб-счётчика.