Medan jag skrev den föregående artikeln, som aldrig publiceras, insåg jag att många inte förstår skillnaden mellan termerna Swagger och OpenAPI (OAS) . Folk använder båda termerna synonymt. Jag klandrar dem inte eftersom jag hade samma tvivel.
Med Swagger kan du beskriva strukturen för dina API:er så att maskiner kan läsa dem.
— SwaggerIO
Om du försöker googla Swagger eller OpenAPI kommer du i de flesta fall att hamna på SwaggerIO , den officiella Swagger-webbplatsen. Om du frågar mig har webbplatsen dolt Swaggers syfte sedan dag ett. Inte avsiktligt dock. Information saknas inte, den presenteras bara inte på ett tydligt och koncist sätt.
OpenAPI-specifikationen (OAS) definierar ett standardiserat språkagnostiskt gränssnitt till RESTful API:er som gör det möjligt för både människor och datorer att upptäcka och förstå tjänstens funktioner utan åtkomst till källkod, dokumentation eller genom inspektion av nätverkstrafik.
— SwaggerIO
Idag finns det många artiklar om detta ämne, så det är mycket lättare att förstå skillnaden, men det är fortfarande möjligt att hitta texter som blandar samman termerna. SwaggerIO marknadsför Swagger som en uppsättning verktyg och OpenAPI som en specifikation. Vi skulle kunna säga att Swagger används för att skapa OpenAPI-specifikationer . I grund och botten är detta påstående inte fel, men det är inte hela sanningen.

Vanligtvis använder utvecklare termen Swagger i minst två sammanhang:
Andra vanligt förekommande termer är Swagger 2 , Swagger Specification 2 , OpenAPI Specification 2 , etc.
Utvecklare använder termen OpenAPI Specification 3 mestadels i ett enda sammanhang:
Swagger och OpenAPI är nära vänner av en anledning. Historia är den viktigaste ingrediensen här.
SmartBear-företaget underhåller Swagger. I november 2015 meddelade Linux Foundation att de tillsammans med SmartBear, Google, Microsoft, Paypal och några andra företag skapar en ny organisation, OpenAPI Initiative. Initiativets huvudsakliga uppgift var att utöka Swagger-specifikationen.
Några månader senare döpte initiativet om Swagger till OpenAPI-specifikationen. Initiativet klonade koden till det nya arkivet. Sedan dess har individer använt båda termerna i olika sammanhang.
Swagger brukade vara en allt-i-ett-specifikation och verktygsuppsättning. Idag är Swagger en verktygsuppsättning. OpenAPI är en specifikation. Det är allt.
Det är bra att veta skillnaden. Men oavsett vilken term du använder kommer den andra sidan att förstå dig – i slutändan är det det enda som spelar roll.