Задать вопрос

Выбор фреймворка для создания REST-сервисов

Часть вопроса, которую читать необязательно:

Кому доводилось работать над REST-сервисами, знает, что это довольно скучное занятие. Ты создаешь ресурс, говоришь что в него можно ходить такими-то и такими-то методами, записи имеют определенный набор полей с ограничениями на их значения, а также значения по умолчанию. Хранится это часто в обычной РСУБД. Ну плюс к этому есть несколько представлений, например, json и csv, пара несложных фичей типа фильтрации по значению-диапазону, указания полей, которые нужно отдать при чтении, возможно также подписака на обновления, автоматическая миграция схемы БД и возможность создавать вьюхи по хитрым бизнес-правилам.

Сама суть вопроса:

Насколько я могу судить, в мире Java есть множество фреймворков, позволяющие получить все названное выше, а также автоматическую генерацию документации и клиентов к REST-сервису на десяти ЯП, путем простого описания ресурсов на неком DSL. Какой фреймворк вы бы порекомендовали? Что вы или кто-то из ваших коллег может сказать о нем по своему опыту использования?
  • Вопрос задан
  • 4222 просмотра
Подписаться 5 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Java-разработчик с нуля
    12 месяцев
    Далее
  • Академия Эдюсон
    Java-разработчик + ИИ
    8 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Java-разработчик + ИИ
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Symfony имеет все нужные инструменты (Fos/rest-bundle, jms/serializer-bundle, аннотации, кучи плюшек).

Последний год пишу REST-Api на Silex+Doctrine. Все собственно то же самое что и в Symfony, только чуть проще структура выходит. Ну и да, нужно потратить день-два на настройку темплейта для проекта (что бы можно было использовать все теже аннтоации, jms-serializer, всякие хэлперы, генератор документации и т.д.). А уже этот темплейт можно реюзать.

Более того, можно еще больше минимизировать рутину, если использовать десериализацию данных запроса, но там есть нюансы.

Так же для внедрения всяких полезностей вроде CORS или OAuth можно использовать мидлвары (Поддерживает все фреймворки реализующие HttpkernelInterface, то есть Symfony, Silex, Laravel и т.д. Ну и можно прилепить к любому фреймворку декоратор).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы