Челики, а поделитесь, как вы оформляете доку для сервисного api. Вот у меня сейчас тапир для сваггера и встаёт вопрос о необходимости описания методов и параметров. Возможно о примерах. И вижу пока 3 варианта.
1 - прямо в коде вставлять краткое описание. Но тогда это сильно ухудшает читабельность роутеров.
2 - выносить в отдельный конфиг, подгружать через pureconfig и в коде только ссылаться на поля классов. Минус в том, что всякий бойлерплейт появляется.
3 - описывать отдельно в каком-нибудь конфлюенсе. Можно делать норм описание с форматированием. Но тогда смысл сваггера, возможно, несколько теряется.
Ну и конечно во всех вариантах есть проблемы синхронизации интерфейса и описания. Но это, возможно, отдельный вопрос.
1. дока однозначно должна генериться, т.к. большая часть информации для доков есть в коде
2. сваггер отстой, как сам излишне сложный формат, так и генераторы документации, так и генераторы кода
3. я вставляю в коде, вроде норм
summary("Add or update subscriptions")
description(
"""<p>Add or update an array of subscriptions.</p>
""")
pathParam[String]("domain", "Customer we are subscribing", MinMaxLength(4, 128), Pattern(DOMAIN_CHARACTERS))
pathParam[String]("recipientId", "Customer Recipient we are subscribing", MinMaxLength(1, 128), Pattern(FIELD_CHARACTERS))
consumes[List[SubscriptionTO]]("application/json")
tags("Recipient")
post("/v1/customers/{domain}/recipients/{recipientId}/subscriptions", (domain: String, recipientId: String) => {4. если есть необходимость i18n для доков, Олеговский вариант норм - по ендпоинту формируем ключ, затем в бандлах пишем текст по каждому полю