POST, PUT, GET являются HTTP-глаголами и сами по себе не указывают формат для передачи данных, поэтому отсутствует формат POST .Это означает, что вы можете кодировать данные любым способом по вашему выбору.
Теперь, какой формат вы решите использовать, действительно будет больше зависеть от того, как обычно будет использоваться ваш API.Если это будет в основном отправка формы, отправляемой из веб-браузера, то, вероятно, разумнее всего использовать кодировку полей формы, поскольку это облегчает это взаимодействие для клиента.
С другой стороны, если выв основном будут получать данные JSON от вызовов AJAX, тогда может иметь смысл получение формата JSON.Если вы сделаете оба, нет никаких причин, по которым вы не можете принимать данные в обоих форматах.
Другим аспектом, который необходимо учитывать, является сложность структур данных, которые вы будете передаватьназад и вперед.Кодирование формы (аналогично кодированию строки запроса) является структурой ключ-значение, в то время как JSON (или XML) допускает гораздо более богатую структуру данных.
В конце концов, используйте то, что проще для обоихвы на стороне сервера, а также вы на стороне клиента (так как я предполагаю, что вы также будете писать основной клиентский клиент рассматриваемого API).Простота всегда предпочтительнее, чем сложность, пока вы не сможете окончательно показать, что большая сложность дает ощутимое преимущество.
Кроме того, последнее, что я упомяну, это то, что REST - это не только чистые URLили правильно использовать глаголы HTTP.Эти аспекты действительно просто глазурь на торте.Основная идея архитектуры REST заключается в том, что Гипертекст является движком состояния приложения .Просто следуя URL-адресам в ответах сервера, хороший клиент может узнать обо всех доступных действиях, и ему не нужно знать ничего, кроме базового URL-адреса.Все остальное можно узнать из этого.Соедините это с четко определенными типами контента, и вы получите мир, в котором множество клиентов могут общаться с множеством серверов, все говорят на одном и том же «языке», и клиентам не нужно знать что-нибудь о серверах(или наоборот), кроме базового URL и типов контента.Вот что такое REST.