В REST URI предназначены для идентификации только ресурса. Согласование содержимого используется для определения формата представления. Это ваше традиционное разделение интересов. При использовании URI для определения формата представления вы смешиваете эти проблемы.
В дополнение к смешанным проблемам, я заметил, что при использовании подхода, основанного на URI, люди обычно знают соглашение и полагаются на построение URI, а не на гипертекст для навигации. Это увеличивает связь и может вызвать проблемы, если сервер когда-либо захочет изменить структуру URI.
Учитывая сказанное, в подходе URI есть некоторые плюсы, а именно удобство. Во время разработки вы можете запустить браузер и легко увидеть, что сервер отвечает, просто введя его в адресную строку («example.com/foo.json»). Когда 100% полагаться на согласование контента, это немного сложнее, и вам приходится полагаться на плагины или cURL, все, что может манипулировать заголовками.