Можно сгенерировать свою спецификацию из аннотаций кода, но говорят, что автоматическая генерация - не лучший подход. Майкл Стоу (Michael Stowe) в статье Беспрепятственный REST: руководство по проектированию Perfect API рекомендует группам вручную реализовать спецификацию, а затем обрабатывать документ спецификации как документ, который разработчики используют при выполнении реального кодирования. Этот подход часто упоминается как «spec-first development».
Spec-first development это философия о том, как разрабатывать API более эффективно. Если вы следуете философии «сначала спецификация», вы сначала пишете спецификацию и используете ее в качестве контракта, к которому разработчики пишут код.
Более 15 000 команд разработчиков программного обеспечения по всему миру используют SwaggerHub. Поскольку спецификация OpenAPI становится в большей степени отраслевым стандартом для документации API, специфичные инструменты SwaggerHub имеют важное значение.
Мне кажется проблема в том, что бекенд разработчики не верно понимают разработку бизнес-логики и разработку интерфейса доступа к ней и к данным. Интерфейс на бекенд может быть HTTP, сокеты ли даже командная строка. Это всего лишь интерфейс. Эти разработчики при проектировании ендпойнта /login
часто зашивают в контроллер бизнес-логику, работу с базой, генерацию сессии и т.д. И именно поэтому они связывают проектирование API с разработкой кода функции и именно поэтому когда им нужно добавить например GraphQL им нужно дублировать функционал.
Почему заранее нельзя договориться с фронтом как данные будут бегать туда-обратно и начать работу параллельно? Такого кейса нет? Фронты не могут предложить вариант как это видят? Вы на беке дадите добро или внесете изменения и у вас будет контракт с фронтами. Вы спокойно пойдете делать и они тоже. Потом через какое-то время вы соединитесь и проверите, что ваш контракт выполнен. Что тут не так?
Можно сгенерировать свою спецификацию из аннотаций кода, но говорят, что автоматическая генерация - не лучший подход. Майкл Стоу (Michael Stowe) в статье Беспрепятственный REST: руководство по проектированию Perfect API рекомендует группам вручную реализовать спецификацию, а затем обрабатывать документ спецификации как документ, который разработчики используют при выполнении реального кодирования. Этот подход часто упоминается как «spec-first development».
Spec-first development это философия о том, как разрабатывать API более эффективно. Если вы следуете философии «сначала спецификация», вы сначала пишете спецификацию и используете ее в качестве контракта, к которому разработчики пишут код.
Более 15 000 команд разработчиков программного обеспечения по всему миру используют SwaggerHub. Поскольку спецификация OpenAPI становится в большей степени отраслевым стандартом для документации API, специфичные инструменты SwaggerHub имеют важное значение.
With SwaggerHub, you can accelerate your team’s design process while enforcing quality and style consistency. The API editor makes compliance with Swagger, now referred to as the OpenAPI Specifications (OAS), simple and intuitive.
Accurate, up-to-date documentation is essential to a successful API initiative. With SwaggerHub, you can generate interactive documentation automatically during design, making it easy for both API consumers and internal users to learn and work with your APIs.
Можно сгенерировать свою спецификацию из аннотаций кода, но говорят, что автоматическая генерация - не лучший подход. Майкл Стоу (Michael Stowe) в статье Беспрепятственный REST: руководство по проектированию Perfect API рекомендует группам вручную реализовать спецификацию, а затем обрабатывать документ спецификации как документ, который разработчики используют при выполнении реального кодирования. Этот подход часто упоминается как «spec-first development».
Spec-first development это философия о том, как разрабатывать API более эффективно. Если вы следуете философии «сначала спецификация», вы сначала пишете спецификацию и используете ее в качестве контракта, к которому разработчики пишут код.
Более 15 000 команд разработчиков программного обеспечения по всему миру используют SwaggerHub. Поскольку спецификация OpenAPI становится в большей степени отраслевым стандартом для документации API, специфичные инструменты SwaggerHub имеют важное значение.
Можно сгенерировать свою спецификацию из аннотаций кода, но говорят, что автоматическая генерация - не лучший подход. Майкл Стоу (Michael Stowe) в статье Беспрепятственный REST: руководство по проектированию Perfect API рекомендует группам вручную реализовать спецификацию, а затем обрабатывать документ спецификации как документ, который разработчики используют при выполнении реального кодирования. Этот подход часто упоминается как «spec-first development».
Spec-first development это философия о том, как разрабатывать API более эффективно. Если вы следуете философии «сначала спецификация», вы сначала пишете спецификацию и используете ее в качестве контракта, к которому разработчики пишут код.
Более 15 000 команд разработчиков программного обеспечения по всему миру используют SwaggerHub. Поскольку спецификация OpenAPI становится в большей степени отраслевым стандартом для документации API, специфичные инструменты SwaggerHub имеют важное значение.
Swagger которые прекрасно работают на небольших проектах
он прекрасно работает и на проектах масштаб которых ты плохо себе представляешь
всегда вымараживали подобные извраты с переусложнением всего и вся, но такого даже в банках не видел. Телегерам или дискорд же есть для такого, взял и написал, тем более у вас очевидно проект небольшой
Антон Бреславский, ни проблем, ни негатива. Лишь описание ситуаций, принимать решения вам, нести за них ответственность тоже.
Но если у меня на картинке (окей, экране интерфейса) список пользователей, я не могу спроектировать к этой области API вместе с DTO (модель, схема данных)?
Бизнес логика на беке, сущности в первую очередь создаются там, их взаимодействие тоже, отображение вторично, но можете сделать наоборот
То есть в Вашем случае, мы должны ставить задачи беку и прикладывать к ним картинки? По этим картинкам они уже создают API? Фронты пока сидят и ждут когда бэк что-то уже сделает? Получает бек должен хорошо разбираться в дизайне, понимать как работает приложение и т.д. Верно?
и если их отдать беку, то что они могут хорошего сделать, если не понимают как работает приложение, т.е. картинки.
Получает бек должен хорошо разбираться в дизайне, понимать как работает приложение и т.д. Верно?
Что api создаются по картинкам, и если их отдать беку, то что они могут хорошего сделать, если не понимают как работает приложение, т.е. картинки. Только не говорите, что это AgentSmith придумал, что api создаются по картинкам. Вообще, эпичный комментарий, ничем не хуже того, что я про базу писал в ответе.
По идее схема такая: Фронты ↔ API контракт API ↔ Бекенд: бизнес-логика, база, кэш и т.д.
И если API это просто язык общения, тогда не вижу проблемы выучить его обоим сторонам и согласовывать до реализации. Просто выучи язык и всем будет профит.
Не понимаю, почему не за ним :-) Оно за всеми, в данном контракте 2 стороны.
Если бэк сделает в API, то, что не нужно фронтам, нафиг такой бэк? Нафиг вообще API? Он кроме фронтов пользователю вообще не нужен. Поэтому заказчиком для бэка выступает фронт, который и заключает с бэком контракт через YAML OpenAPI, а потом через кросс-валюдацию проверяет, что контракт исполнен. По-моему очень формализованный и четкий подход. А не из серии: бэк - я так вижу, да будет так, вот вам 1000 полей в пользователе, пофиг что выводить 5 только лишь, а лишние байты зачем?