From 300fc23e9cb491b271dfed92c0dc4759f9685a5c Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Tue, 19 Mar 2024 22:13:33 +0300 Subject: [PATCH] =?utf8?q?=D0=92=D0=BF=D0=B5=D1=80=D0=B2=D1=8B=D0=B5=20?= =?utf8?q?=D1=81=D1=82=D0=BE=D0=BB=D0=BA=D0=BD=D1=83=D0=BB=D1=81=D1=8F=20?= =?utf8?q?=D1=81=20OpenAPI?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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. Что за уроды так делают? -- 2.48.1