Skip to content

Commit 82e9dd5

Browse files
Changes related to Apiary and Mashery. Also related to LRTs cases and mentions to SwaggerHub.
1 parent d0b751e commit 82e9dd5

File tree

21 files changed

+410
-124
lines changed

21 files changed

+410
-124
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,3 +105,5 @@ dist
105105

106106
# SSHFS
107107
._*
108+
109+
.DS_Store

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Guidelines for the API design and development at adidas
44

55
# adidas API Guidelines
66

7-
![adidas logo](https://adidas-group.gitbooks.io/api-guidelines/content/assets/adidas-logo.svg)
7+
![adidas logo](adidaslogo.jpg)
88

99
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
1010

@@ -23,7 +23,7 @@ The API Guidelines are split into two main parts:
2323
* [General Guidelines](general-guidelines/general-guidelines.md)
2424
* API type-specific Guidelines
2525
* [REST APIs Guidelines](rest-api-guidelines/rest.md)
26-
* [Kafka Guidelines](kafka-guidelines/kafka.md)
26+
* [Asynchronous APIs Guidelines](asynchronous-api-guidelines/asyncapi.md)
2727

2828
The general guidelines section discusses the core principles relevant to any kind of API. The API type-specific section further defines the guidelines specific to a given architectural style or API technique \(such as REST, Kafka or GraphQL APIs\).
2929

@@ -83,5 +83,5 @@ For further information open the [adidas terms and conditions](https://github.co
8383
8484
### License
8585
86-
[MIT](https://github.com/adidas-group/api-guidelines/tree/657bc6fd49f1499f10c30ab18420f4bdb7cd841b/LICENSE/README.md)
86+
[MIT](https://github.com/adidas/api-guidelines/blob/master/LICENSE)
8787

SUMMARY.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
* [OpenAPI Specification](rest-api-guidelines/core-principles/openapi-specification.md)
2222
* [API Design Platform](rest-api-guidelines/core-principles/design-platform.md)
2323
* [Design Maturity](rest-api-guidelines/core-principles/design-maturity.md)
24+
* [HATEOAS](rest-api-guidelines/core-principles/HATEOAS.md)
2425
* [Testing](rest-api-guidelines/core-principles/testing.md)
2526
* [Protocol](rest-api-guidelines/protocol/README.md)
2627
* [HTTP](rest-api-guidelines/protocol/http.md)
@@ -39,7 +40,10 @@
3940
* [Common Data Types](rest-api-guidelines/application/common-data-types.md)
4041
* [Execution](rest-api-guidelines/execution/README.md)
4142
* [Pagination](rest-api-guidelines/execution/pagination.md)
42-
* [Asynchronous Tasks](rest-api-guidelines/execution/asynchronous-tasks.md)
43+
* [Long Running Tasks](rest-api-guidelines/execution/long-running-tasks/README.md)
44+
* [Polling](rest-api-guidelines/execution/long-running-tasks/polling.md)
45+
* [Callback](rest-api-guidelines/execution/long-running-tasks/callback.md)
46+
* [Files Upload](rest-api-guidelines/execution/long-running-tasks/files-upload.md)
4347
* [Batch Operations](rest-api-guidelines/execution/batch-operations.md)
4448
* [Search Requests](rest-api-guidelines/execution/search-requests.md)
4549
* [Query Requests with Large Inputs](rest-api-guidelines/execution/query-requests-with-large-inputs.md)
@@ -61,7 +65,10 @@
6165
* [Loose Coupling](rest-api-guidelines/clients/loose-coupling.md)
6266
* [Further References](rest-api-guidelines/miscellaneous.md)
6367

64-
## Kafka Guidelines
68+
## Asynchronous API Guidelines
6569

66-
* [Introduction](kafka-guidelines/kafka.md)
70+
* [Introduction](asynchronous-api-guidelines/asyncapi.md)
71+
* [Core Principles](asynchronous-api-guidelines/core-principles/README.md)
72+
* [Platforms](asynchronous-api-guidelines/platforms/README.md)
73+
* [Types](asynchronous-api-guidelines/types/README.md)
6774

adidaslogo.jpg

12.4 KB
Loading
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Introduction
2+
3+
## adidas Asynchronous APIs Guidelines
4+
5+
6+

general-guidelines/json.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,7 @@ Any JSON-based message **MUST** conform to the following rules:
99
5. Empty arrays and objects **SHOULD NOT** be `null` \(use `[]` or `{}` instead\)
1010
6. Array field names **SHOULD** be plural \(e.g. `"orders": []`\)
1111

12+
## Validation
13+
All API designers **MUST** validate the definition of the payloads in requests/responses with the [JSON Schema](https://json-schema.org/) for the defined structure prior to the publication of the API Contract in SwaggerHub.
14+
15+
The publication of the JSON schema corresponding to the expected payloads in the bodies of requests and responses **SHOULD** be kept up to date according to the evolution of the API.

kafka-guidelines/kafka.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

rest-api-guidelines/core-principles/design-platform.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# API Design Platform
22

3-
1. [SwaggerHub](https://swagger.io/tools/swaggerhub/) is the primary platform supporting [API first approach](../../general-guidelines/api-first.md). SwaggerHub **SHOULD** be used during API Design.
3+
1. [SwaggerHub](https://design.api.3stripes.io/) is the primary platform supporting [API first approach](../../general-guidelines/api-first.md). SwaggerHub **MUST** be used during API Design.
44
2. Every API description **MUST** be stored in [SwaggerHub](https://design.api.3stripes.io/) under the adidas team.
55
3. SwaggerHub **MUST** be the **single source of truth** to learn about existing APIs within the organization.
66

rest-api-guidelines/core-principles/openapi-specification.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# OpenAPI Specification
22

3-
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).
3+
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) OR the[OpenAPI Specification \(formerly known as Swagger Specification\) version 3.0.x](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.3.md).
44

55
Every API description **MUST** be published in adidas [API design platform](design-platform.md) and it **SHOULD** be stored in version control system \(Bitbucket, GitHub\) in the same repository as the API implementation.
66

rest-api-guidelines/execution/batch-operations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Processing Similar Resources
44

5-
An operation that needs to process several related resources in bulk **SHOULD** use a collection resource with the appropriate HTTP Request Method. When processing existing resource the request message body **MUST** contain the URLs of the respective resources being processed.
5+
An operation that needs to process several related resources in bulk **SHOULD** uses a collection resource with the appropriate HTTP Request Method. When processing existing resource the request message body **MUST** contain the URLs of the respective resources being processed.
66

77
### Example
88

0 commit comments

Comments
 (0)