]> Sergey Matveev's repositories - stargrave-blog.git/commit
Впервые столкнулся с OpenAPI
authorSergey Matveev <stargrave@stargrave.org>
Tue, 19 Mar 2024 19:13:33 +0000 (22:13 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Tue, 19 Mar 2024 19:13:33 +0000 (22:13 +0300)
commit300fc23e9cb491b271dfed92c0dc4759f9685a5c
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent41c1911299a38bce85656a1a42cb79f070e38f3f
Впервые столкнулся с OpenAPI

https://github.com/OAI/OpenAPI-Specification
Столкнулся сегодня с OpenAPI. Хотели чтобы я написал и реализовал схему
и свою программу по нему. Пошёл искать что на Go есть из валидаторов
онной. Куча существенно несовместимых версий (2.0, 3.0, 3.1) -- выбор
софт сужается.

Целый день разбирался почему же проверка уже существующих OpenAPI в
проекте не проходила. Не удивился бы, если их коммитили не проверяя. Не
удивился бы, если бы инструмент, которым проверяли -- был бы косячный
(ибо на Python) и глючный. Но нужно же было понять кто же всё же
виноват: или github.com/pb33f/libopenapi (мой выбор пал на него) или
Python софт.

Оказалось, что схема OpenAPI 3.1... вполне себе регулярно обновляется,
причём даже без изменения хотя бы дат внутри своего namespace. И на
сайте написано что в одном месте можно использовать $ref, но валидатор
упорно не пропускал это. Оказалось, что в нём не настолько современная
3.1 схема была. По сути, выходит, что нету никакого OpenAPI 3.1, а есть
множество версий этого 3.1. Что за уроды так делают?