Как создать API-документацию, чтобы Swagger нравился (был полезен) всем
Ты же знаешь этот момент, когда открываешь Swagger проекта и… боль.
Описание пустое, названия - не говорят ни о чем, параметры непонятные, примеры ответа -
200 OK и тишина.
Будешь ли ты работать с таким документом? А будут ли другие? Вопрос скорее риторический. Если документация похожа на помойку, то и к системе отношение будет соответствующее. Ты - аналитик, ответственный за качество документации, разрабы могут говорить, что дока не нужна, ты не можешь.
Проблема в том, что многие аналитики пишут Swagger для галочки, потому что разрабы сгенерят его автоматом из кода. А затем и фронт и бэк придут к тебе с вопросами, что вернет тот или иной атрибут, как работает тот или иной эндпоинт. И вот ты сгенерировал себе пару лишних звонков на пустом месте.
За годы я выработал для себя простое правило: Swagger должен объяснить API даже тому, кто впервые его видит. Без лишних слов и встречных звонков.
Вот чек-лист, который реально помогает:
1. Description у всего. Методы, параметры, поля - везде пиши, зачем это нужно.
Без “getSomething” и “object”. Люди читают это, чтобы понять, а не страдать. Это супер важно, твою доку будут гораздо больше читать, все ровно как с кодом.
2. Примеры. Не ленись добавить пример запроса и ответа. Фронту и тестировщику это спасёт полдня, а тебе - десяток уточнений “а можно пример?”.
3. Статусы и ошибки. 200 - это не всё, что умеет твой сервис. Если у тебя нет примеров 400 и 500, то их добавит разраб. Но документация разойдется с реализацией. Оно тебе надо?
4. Единый стиль. Названия должны быть логичными: userId, а не User_Id, idUser или usr. Swagger - не место для творчества, это место для консистентности. При этом помни о стиле проекта. Твою работу должно быть не отличить от работы других аналитиков.
5. Не пихай бизнес-логику в описание. Swagger - про интерфейсы, не про “если А, то Б”. Для этого есть постановка.
Swagger - это твоя витрина. Ты можешь написать шикарное ТЗ, продумать архитектуру и процессы, но если открываешь Swagger, и там каша - всё, впечатление испорчено.
Потому что в итоге им будут пользоваться те, кто твоё ТЗ даже не читал.
Так что если хочешь, чтобы твоё имя не вызывало лёгкую дрожь у команды, сделай Swagger, который можно показать без стыда.
А где можно научиться писать Swagger правильно? Ну ты понял.
Post #420
5.85K
- 🔥 29
- 🐳 8
- ❤ 7
- 🗿 1