Updates core-principles/design-maturity.md

Auto commit by GitBook Editor
This commit is contained in:
apidesigner
2017-01-30 11:51:29 +00:00
parent e38c1e382e
commit c07fc4057d
7 changed files with 14 additions and 6 deletions

View File

@@ -9,5 +9,5 @@
* [Contract](core-principles/contract.md) * [Contract](core-principles/contract.md)
* [Testing](core-principles/testing.md) * [Testing](core-principles/testing.md)
* [Design Maturity](core-principles/design-maturity.md) * [Design Maturity](core-principles/design-maturity.md)
* Implementation Maturity * [Implementation Maturity](core-principles/implementation-maturity.md)

View File

@@ -1,3 +1,4 @@
# Apiary # Apiary
Every API description MUST to be stored in [Apiary](https://apiary.io/) under the ADIDAS GROUP team. Apiary MUST be the single source of truth to learn about existing APIs within the organization. Every API description MUST to be stored in [Apiary](https://apiary.io/) under the ADIDAS GROUP team. Apiary MUST be the single source of truth to learn about existing APIs within the organization.
(TODO: see Apiary Appendix)

View File

@@ -1,7 +1,7 @@
# Design Maturity # Design Maturity
Every API design MUST be resource-centric ([Web API Design Maturity Model Level 2](http://amundsen.com/talks/2016-11-apistrat-wadm/2016-11-apistrat-wadm.pdf)). That is an API design MUST revolve around HTTP-styled resources, relations between the resources and actions the resources afford. Every API design MUST be resource-centric ([Web API Design Maturity Model Level 2](http://amundsen.com/talks/2016-11-apistrat-wadm/2016-11-apistrat-wadm.pdf)). That is an API design MUST revolve around Web-styled resources, relations between the resources and the actions the resources might afford.
An API design MAY be affordance-centric ([Web API Design Maturity Model Level 3](http://amundsen.com/talks/2016-11-apistrat-wadm/2016-11-apistrat-wadm.pdf)). An API design MAY be affordance-centric ([Web API Design Maturity Model Level 3](http://amundsen.com/talks/2016-11-apistrat-wadm/2016-11-apistrat-wadm.pdf)).
(TODO: see API Design Process Appendix) (TODO: see API Design Process Appendix)

View File

@@ -0,0 +1,4 @@
# Implementation Maturity
Every API design using the HTTP(S) protocol MUST implement any action afforded by a resource using the appropriate HTTP Request Method semantics.

View File

@@ -2,4 +2,6 @@
Every API MUST be described using 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 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).
## Language ## Language
The API description MUST be written in U.S. English. The API description MUST be written in U.S. English.
(TODO: see OpenAPI Appendix)

View File

@@ -1,6 +1,7 @@
# Testing Contract Validation # Testing Contract Validation
Every API description (contract) SHOULD be tested against its API implementation. The tests MUST be executed using the [Dredd testing framework](https://github.com/apiaryio/dredd). The Dredd MUST [report the test results to Apiary](https://help.apiary.io/tools/automated-testing/testing-reporter/). Every API description (contract) using HTTP(S) protocol MUST be tested against its API implementation. The tests MUST be executed using the [Dredd testing framework](https://github.com/apiaryio/dredd). The Dredd MUST [report the test results to Apiary](https://help.apiary.io/tools/automated-testing/testing-reporter/).
In addition to local runs, the tests SHOULD be an integral part the API implementation's CI/CD pipeline. The CI/CD pipeline SHOULD be configured to run the test whenever there is a change to either API description (contract) or its implementation. In addition to local runs, the tests SHOULD be an integral part the API implementation's CI/CD pipeline. The CI/CD pipeline SHOULD be configured to run the test whenever there is a change to either API description (contract) or its implementation.
(TODO: see Testing and CI/CD Appendix)

View File

@@ -1,2 +1,2 @@
# Version Control System # Version Control System
Every API description SHOULD be stored in a Version Control System (Bitbucket, GitHub). Where possible the API description SHOULD stored in the **same** repository as the API implementation. Every API description SHOULD be stored in a Version Control System (Bitbucket, GitHub). Where possible the API description SHOULD stored in the **same** repository as the API implementation.