Что использовать для проектирования и разработки REST API?

Из популярных инструментов проектирования и документирования REST API есть swagger и apiary. Основной подход это использование фреймворков для REST типа Laravel(Lumen), Guzzle, Silex и аннотации в стиле Swagger, на основе которых потом можно собрать файл для Swagger.
Но обратного подхода я не видел, чтобы на основе проекта Swagger можно было бы собирать скелет для REST сервера - роутинг, проверка параметров и входных данных.

Отсюда и возникает вопрос, как лучше разрабатывать REST API, какой фреймворк использовать, чтобы делать меньше лишней работы по разработке и документированию сервера.

Пока склоняюсь использовать что-то из Lumen или Guzzle с аннотациями Swagger.
  • Вопрос задан
  • 1278 просмотров
Пригласить эксперта
Ответы на вопрос 4
@zatupok3000
У нас проект на 100 000 человек в день, мы используем laravel, очень нравится.
Ответ написан
Комментировать
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
Ответ написан
Комментировать
https://github.com/swagger-api/swagger-codegen


Server stubs: C# (ASP.NET Core, NancyFx), Erlang, Go, Haskell, Java (MSF4J, Spring, Undertow, JAX-RS: CDI, CXF, Inflector, RestEasy), PHP (Lumen, Slim, Silex, Zend Expressive), Python (Flask), NodeJS, Ruby (Sinatra, Rails5), Scala (Finch, Scalatra)


Сами мечтаем интегрировать генерацию роутинга и DTO-шек по swagger-спецификации прямо в билд-процесс, но пока ещё не можем таким похвастаться)
Ответ написан
Комментировать
@unchase
Имея (или не имея) серверную реализацию REST API или файл спецификации OpenAPI (Swagger) вы можете:

- автоматически генерировать к ней документацию
- автоматически генерировать клиентский код к имеющемуся REST API для множества языков программирования
- проектировать Api с помощью спецификации, а реализацией на стороне клиента и на стороне сервиса могут заниматься не связанные друг с другом команды разработчиков

Например, вы можете воспользоваться расширением для Visual Studio 2017/2019 Unchase OpenAPI (Swagger) Connected Service для автоматической генерации C# или TypeScript кода для клиента (статья на medium.com), и C# кода контроллеров для сервера по файлу спецификации (это тоже возможно).
Фактически, после генерации кода контроллера их можно заполнить тем функционалом, который Вам нужен, а после вызывать методы контроллера из сгенерированного клиента.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
24 апр. 2024, в 22:30
200000 руб./за проект
24 апр. 2024, в 22:11
2000 руб./за проект
24 апр. 2024, в 21:49
10000 руб./за проект