например можно не трогая фронтенд сменить фреймворк или даже язык.
В большинстве случаев, можно сменить фреймворк не трогая фронтэнд. Например, если Ваш фреймворк использует шаблонизатор "Twig". В некоторых случаях, так же можно сменить язык, подвергая шаблоны минимальной модификации, которую можно провести через "Найти/Заменить". Но, я бы на Вашем месте не сильно обольщался на эту "возможность".
Ну например выбрать 10 новостей в нужном формате
делаем GET запрос
Обычно делают POST-запрос, и не в формате адресной строки (GET-параметров), а отправляется так же, запрос в формате JSON. Обратите внимание на ключевое слово "обычно", т.е.
не всегда.
Применяется такой подход к проектированию?
Это скорее подход к разработке, уровня "клиент-сервер", и/или REST API.
И может есть готовые решения о которых можно почитать.
Не совсем понятно, какое именно готовое решение Вы хотите получить. HTTP-клиенты и обработка JSON-данных, встроена во многие языки, или реализована в виде готовых библиотек.
Или есть какие то существенные минусы о которых я не догадываюсь?
Если Вы хотите разработать, например, настольное или телефонное (как пример) приложение-клиент, то это один из лучших вариантов. Если же Вы хотите построить по такому принципу обычный сайт, то Вы просто введёте новый уровень абстракции и новое звено в цепочку, чем усложните работу самому себе, а так же потенциально замедлите работу проекта.
Насколько я понимаю, Вы хотите обернуть РСУБД (SQL-БД), работающую через (unix-)сокет, в более примитивные API, выдающие ответы в формате JSON? А чем Вас ответ в формате "SQL result resource" не устроил? :) При использовании РСУБД (и не только) Вы так же можете сменить и шаблонизатор, и фреймворк и язык и всё остальное, а необходимый функционал написать на уровне самой БД, в виде хранимых функций/процедур, без дополнительных,
ненужных цепочек передачи данных.