OpenAPI Specification: Difference between revisions

Content deleted Content added
Usage: Added relationships to well-known software engineering practices. Added reference to the proper term of "scaffolding".
Tags: Reverted Visual edit
Restored revision 1122470189 by Levinda987 (talk): Rv blogs as sources
Line 49:
 
==Usage==
Applications implemented based on OpenAPI interface files can automatically generate documentation of methods, parameters and models. This helps keep the [[Software documentation|documentation]], client libraries and source code in sync.<ref name=git>{{Cite web|title = swagger-api/swagger-spec|url = https://github.com/swagger-api/swagger-spec/wiki|website = GitHub|access-date = 2015-12-01}}</ref> When an OpenAPI document is used to generate source code, the process is called [[Scaffold (programming)|scaffolding]].
 
=== 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 an retrospective description of its behavior as the contract, is called contract-first development<ref>{{Cite web |title=Contract-First Development |url=https://openpracticelibrary.com/practice/contract-first-development/ |access-date=2023-01-19 |website=Open Practice Library}}</ref>.
 
Since the interface is determined before any code is written, downstream developers can mock the server behavior and start testing right away<ref>{{Cite web |last=Mancini |first=Dario |date=2021-03-19 |title=API mocking with OpenAPI |url=https://medium.com/tuimm/api-mocking-with-openapi-d0f7127ce3a7 |access-date=2023-01-19 |website=TUI MM Engineering Center |language=en}}</ref>. In this sense, contract-first development is also a practice of [[Shift-left testing]]<ref>{{Cite web |last=devbot5S |first=tintin, arvindpdmn |date=2018-10-03 |title=Shift Left |url=https://devopedia.org/shift-left |access-date=2023-01-19 |website=Devopedia |language=en-gb}}</ref>.
 
==Features==