Updates core-principles/api-first.md

Auto commit by GitBook Editor
This commit is contained in:
oonovak
2017-02-13 16:44:14 +00:00
parent cc408551aa
commit c14af2bba2
3 changed files with 11 additions and 3 deletions

View File

@@ -4,7 +4,7 @@ Everyone **MUST** follow the **API first** principle.
**API first** principle is extension of **Contract first** architecture principle.
Therefore development of an API **MUST** always start with **API design** without any upfront coding activities.
An API design **MUST** be formalized in a form of an **API description** using [Open API Specification](./openapi-specification.md) and stored in adidas [API design platform](./apiary.md) and agreed by all stakeholders.
An API design **MUST** be formalized in a form of an **API description** using [Open API Specification](./openapi-specification.md) and stored in adidas [API description platform](./apiary.md) and agreed by all stakeholders.
Clearly describing what API is supposed to do before coding it, helps to facilitate discussion between stakeholders and allows to receive feedback in early stage of the API development process.
It also helps to establish governance on API's to check that certain quality is met and API guidelines are being followed.

View File

@@ -1,4 +1,4 @@
# API design platform - Apiary
# API description platform - Apiary
1. [Apiary](https://apiary.io/) is the primary platform supporting [API first approach](./api-first.md). Apiary MUST be used during API Design.
1. Every API description MUST be stored in [Apiary](https://apiary.io/) under the ADIDAS GROUP team.
1. Apiary MUST be the **single source of truth** to learn about existing APIs within the organization.

View File

@@ -1,5 +1,13 @@
# OpenAPI Specification
Every API MUST be described using an API description format. The API description format used MUST be the [OpenAPI Specification (formerly known as Swagger Specification) version 2.0](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md).
Every API **MUST** be described using an API description format. The API description format used MUST be the [OpenAPI Specification (formerly known as Swagger Specification) version 2.0](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md).
Every API description **MUST** be:
* published in adidas [API description platform](./apiary.md)
* stored in version control system (Bitbucket, GitHub) in the same repository as the API implementation.
* accessible via endpoint through GET operation. _To be discussed_
> NOTE: Synchronization between the version control system and adidas [API description platform](./apiary.md)
should be automated using CICD framework.
## Language
The API description MUST be written in **American English**.