По стандарту:
# Передаёте тело, если это требуется. Как правило, для таких запросов оно требуется всегда. Парсер использовать в зависимости от принимающей стороны. В большинстве случаев всё есть в бибилотеках и фреймворках.
# С точки зрения "дружелюбного" API, да. Эти запросы должны содержать базовый путь объекта, но для уточнения можно использовать query, что ставится после знака вопроса в строке запроса. К примеру, можно составить такой запрос:
GET /dogs, а если нужны только собаки черного цвета:
GET /dogs?color=black
Да, DELETE должен удалить сообщение с идентификатором 281. Не обязательно id, можно указать так:
DELETE /streets/Iddlewood
https://habrahabr.ru/post/181988/