OpenAPI Specification: Difference between revisions

Content deleted Content added
Added release dates for the recent (ish) patch releases of OpenAPI
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
 
(One intermediate revision by one other user not shown)
Line 28:
| website = {{URL|https://openapis.org}}
}}
The '''OpenAPI Specification''', previously known as the '''Swagger Specification''', is a [[Specification (technical standard)|specification]] for a [[Machine-readable medium|machine-readable]] [[interface definition language]] for describing, producing, consuming and visualizing [[Web API|web services]].<ref name=started>{{cite web |title=OpenAPI Documentation: Getting Started |website=Learn OpenAPI |url=https://learn.openapis.org/ |publisher=The OpenAPI Initiative |access-date=2024-09-17}}</ref> Originally developed to support the [[Swagger (software)|Swagger]] framework, it became a separate project in 2015, overseen by the OpenAPI Initiative, an open-source collaboration project of the [[Linux Foundation]].<ref>{{Cite web|url=https://www.linuxfoundation.org/press/press-release/new-collaborative-project-to-extend-swagger-specification-for-building-connected-applications-and-services|title=New Collaborative Project to Extend Swagger Specification for Building Connected Applications and Services|archive-url=https://web.archive.org/web/20231031170437/https://www.linuxfoundation.org/press/press-release/new-collaborative-project-to-extend-swagger-specification-for-building-connected-applications-and-services|archive-date=31 October 2023}}</ref><ref name="charter">{{cite web |title=OpenAPI Initiative Charter |url=https://www.openapis.org/participate/how-to-contribute/governance |website=OpenAPI Initiative |access-date=12 November 2019 |archive-date=26 January 2025 |archive-url=https://web.archive.org/web/20250126133749/https://www.openapis.org/participate/how-to-contribute/governance |url-status=dead }}</ref>
 
An OpenAPI Description (OAD)<ref name=glossary>{{cite web|title=OpenAPI Documentation: Glossary |website=Learn OpenAPI |url=https://learn.openapis.org/glossary.html |publisher=The OpenAPI Initiative |date=2023 |access-date=2024-09-17}}</ref> represents a formal description of an API that tools can use to generate code, documentation, test cases, and more.
Line 99:
 
===Relationships to software engineering practices===
The paradigm of agreeing on an API contract first and then programming business logic afterwards, in contrast to coding the program first and then writing a retrospective description of its behavior as the contract, is called contract-first development. Since the interface is determined before any code is written, downstream developers can [[Mock object|mock]] the [[Server (computing)|server]] behavior and start testing right away.<ref>{{Cite book |last=Preibisch |first=Sascha |url=https://www.worldcat.org/oclc/1076234393 |publisher=Apress |title=API Development: A Practical Guide for Business Implementation Success |date=2018 |isbn=978-1-4842-4140-0 |___location=[Berkeley, CA] |oclc=1076234393 |quote=Having the Swagger (or for that matter, any other machine-readable) document available, team members can start working on their part of the project at the same time.}}</ref> In this sense, contract-first development is also a practice of [[shift-left testing]].
 
==Features==