Pull to refresh

Comments 6

Вот чем меня Go делает грустить, так это отсутствием вменяемой работы со свагером. Что ни пробовал генерить по спеке, в лучшем случае получается неоптимизированная плохочитаемая муть. В худшем — генерилка падает с ошибками, хотя yaml-спека чекается на сайте свагера, как валидная.
Расписывать комментарии в коде для генерации спеки мало чем отличается от ручного написания спеки — один чорд где-то что-то забудешь обновить. В этом плане мне нравится scala и tapir — там описываются только кодеки для типов, а свагеровская схема выводится сама из типов эндпоинтов.
Согласен, и для нас это стало одной из многочисленных причин перехода на GQL. В Go с ним лучше, вот, например, тот же gqlgen.
Как можно убедиться, что реализация API соответствует описанному в Swagger?
В рамках OpenAPI никак — это не его задача (во всяком случае так им декларируется).

Можете попробовать PaCT тестирование, но он ортогонален самому OpenAPI и может быть использован для произвольного API.

Или подвязаться на bitbucket.org/atlassian/swagger-mock-validator/src/master

Но опять же — это про тестирование апи по факту.
Можно пойти прото-путем: grpc-gateway. Да grpc. Но, по факту можно просто не запускать сам grpc сервер, а запускать gateway. Тут вам и адекватная кодогенерация, и генерация опенапи спеки.
Sign up to leave a comment.