├── .gitignore ├── Brewfile ├── Gemfile ├── Gemfile.lock ├── Makefile ├── README.md ├── old-adoc └── src │ ├── 0-stuff │ ├── author.adoc │ └── introduction.adoc │ ├── 1-theory │ ├── 4-design.adoc │ ├── 6-hypermedia.adoc │ ├── 7-http.adoc │ ├── 8-async.adoc │ ├── X-authentication.adoc │ ├── X-validation.adoc │ ├── images │ │ ├── 406.jpg │ │ ├── data-model-service-model.png │ │ └── design-theory │ │ │ ├── caching │ │ │ ├── httpcachehit.png │ │ │ └── httpcachemiss.png │ │ │ ├── data-formats │ │ │ ├── input-encoded-madness.jpg │ │ │ └── input-output-json-json.jpg │ │ │ └── errors │ │ │ ├── errors-200-ok.jpeg │ │ │ ├── signature-api-errors.png │ │ │ └── stripe-error-codes.png │ ├── part.adoc │ └── thanks.txt │ ├── 2-planning │ ├── 0-introduction.adoc │ ├── 1-editors.adoc │ ├── 2-mocking.adoc │ ├── 3-documentation.adoc │ ├── X-validation.adoc │ ├── images │ │ ├── docs-redoc-data-struct.png │ │ ├── docs-redoc.png │ │ ├── docs-swagger-ui.png │ │ ├── editors-graphql-editor.png │ │ ├── editors-stoplight.png │ │ ├── editors-swagger-editor-form.png │ │ ├── editors-swagger-editor.png │ │ ├── editors-swaggerhub-demo.png │ │ ├── editors-swaggerhub-invite.png │ │ └── mocks-my-json-server.png │ └── part.adoc │ ├── 3-testing │ ├── X-debugging.adoc │ └── X-traffic-inspection.adoc │ ├── 4-management │ ├── X-evolution.adoc │ ├── X-gateways.adoc │ └── X-portals.adoc │ ├── 6-further-theory │ ├── 1-picking-paradigms.adoc │ └── X-common-architectures.adoc │ ├── book.adoc │ ├── cover.png │ └── plantuml.cfg ├── src ├── 0-stuff │ ├── author.adoc │ ├── howto.adoc │ └── introduction.adoc ├── 1-introduction-to-apis │ ├── 1-history-of-apis.adoc │ ├── 2-apis-services-microservices.adoc │ ├── 3-different-paradigms.adoc │ ├── 4-api-lifecycle.adoc │ ├── images │ │ ├── contracts-unspecified-json.jpeg │ │ ├── forrestbrazeal-distributed-8ball.png │ │ ├── graphql-mutation-example.png │ │ ├── graphql-query-example.png │ │ └── service-is-not.jpg │ └── part.adoc ├── 2-api-design-basics │ ├── 01-structuring-urls.adoc │ ├── 02-http-methods.adoc │ ├── 03-parameters.adoc │ ├── 04-collections.adoc │ ├── 05-data-formats.adoc │ ├── 06-request-body.adoc │ ├── 07-status-codes.adoc │ ├── 08-response-data.adoc │ ├── 09-pagination.adoc │ ├── 10-filtering.adoc │ ├── 11-errors.adoc │ ├── 12-caching.adoc │ ├── 13-file-uploads.adoc │ ├── 14-security.adoc │ ├── 15-versioning.adoc │ ├── images │ │ ├── caching │ │ │ ├── httpcachehit.png │ │ │ └── httpcachemiss.png │ │ ├── data-formats │ │ │ ├── input-encoded-madness.jpg │ │ │ └── input-output-json-json.jpg │ │ └── errors │ │ │ ├── errors-200-ok.jpeg │ │ │ ├── signature-api-errors.png │ │ │ └── stripe-error-codes.png │ └── part.adoc ├── 3-openapi │ ├── 1-introduction.adoc │ ├── 2-understanding-structure.adoc │ ├── 3-data-models.adoc │ ├── 4-advanced.adoc │ ├── 5-documentation.adoc │ ├── 6-extending.adoc │ ├── images │ │ ├── OpenAPI-2-versus-OpenAPI-3.png │ │ ├── bump-tag-description.png │ │ ├── bump-x-topics.png │ │ ├── diff_attribute.png │ │ ├── preview_pings_sections.png │ │ ├── tag-with-externaldocs.png │ │ ├── tagged_endpoints.png │ │ └── tags_order.png │ └── part.adoc ├── 4-api-design-first │ ├── 1-introduction.adoc │ ├── 2-the-perfect-workflow.adoc │ ├── api-explorer-request.png │ ├── bump-hubs.png │ ├── bump-sdks.png │ ├── design-first-workflow.png │ ├── images │ │ ├── api-explorer-request.png │ │ ├── bump-hubs.png │ │ ├── bump-sdks.png │ │ ├── design-first-workflow.png │ │ ├── introduction │ │ │ └── code-first-design-first.png │ │ └── vacuum-annotations.png │ ├── part.adoc │ └── vacuum-annotations.png ├── 5-design-a-new-api │ └── part.adoc ├── 6-maintaining-an-api │ └── part.adoc ├── 7-taking-apis-further │ └── part.adoc ├── 8-testing-apis │ ├── 1-introduction.adoc │ └── part.adoc ├── book.adoc ├── cover.png └── plantuml.cfg └── topics.txt /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/.gitignore -------------------------------------------------------------------------------- /Brewfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/Brewfile -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/Gemfile -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/Gemfile.lock -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/README.md -------------------------------------------------------------------------------- /old-adoc/src/0-stuff/author.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/0-stuff/author.adoc -------------------------------------------------------------------------------- /old-adoc/src/0-stuff/introduction.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/0-stuff/introduction.adoc -------------------------------------------------------------------------------- /old-adoc/src/1-theory/4-design.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/1-theory/4-design.adoc -------------------------------------------------------------------------------- /old-adoc/src/1-theory/6-hypermedia.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/1-theory/6-hypermedia.adoc -------------------------------------------------------------------------------- /old-adoc/src/1-theory/7-http.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/1-theory/7-http.adoc -------------------------------------------------------------------------------- /old-adoc/src/1-theory/8-async.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/1-theory/8-async.adoc -------------------------------------------------------------------------------- /old-adoc/src/1-theory/X-authentication.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/1-theory/X-authentication.adoc -------------------------------------------------------------------------------- /old-adoc/src/1-theory/X-validation.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/1-theory/X-validation.adoc -------------------------------------------------------------------------------- /old-adoc/src/1-theory/images/406.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/1-theory/images/406.jpg -------------------------------------------------------------------------------- /old-adoc/src/1-theory/images/data-model-service-model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/1-theory/images/data-model-service-model.png -------------------------------------------------------------------------------- /old-adoc/src/1-theory/images/design-theory/caching/httpcachehit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/1-theory/images/design-theory/caching/httpcachehit.png -------------------------------------------------------------------------------- /old-adoc/src/1-theory/images/design-theory/caching/httpcachemiss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/1-theory/images/design-theory/caching/httpcachemiss.png -------------------------------------------------------------------------------- /old-adoc/src/1-theory/images/design-theory/data-formats/input-encoded-madness.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/1-theory/images/design-theory/data-formats/input-encoded-madness.jpg -------------------------------------------------------------------------------- /old-adoc/src/1-theory/images/design-theory/data-formats/input-output-json-json.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/1-theory/images/design-theory/data-formats/input-output-json-json.jpg -------------------------------------------------------------------------------- /old-adoc/src/1-theory/images/design-theory/errors/errors-200-ok.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/1-theory/images/design-theory/errors/errors-200-ok.jpeg -------------------------------------------------------------------------------- /old-adoc/src/1-theory/images/design-theory/errors/signature-api-errors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/1-theory/images/design-theory/errors/signature-api-errors.png -------------------------------------------------------------------------------- /old-adoc/src/1-theory/images/design-theory/errors/stripe-error-codes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/1-theory/images/design-theory/errors/stripe-error-codes.png -------------------------------------------------------------------------------- /old-adoc/src/1-theory/part.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/1-theory/part.adoc -------------------------------------------------------------------------------- /old-adoc/src/1-theory/thanks.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/1-theory/thanks.txt -------------------------------------------------------------------------------- /old-adoc/src/2-planning/0-introduction.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/2-planning/0-introduction.adoc -------------------------------------------------------------------------------- /old-adoc/src/2-planning/1-editors.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/2-planning/1-editors.adoc -------------------------------------------------------------------------------- /old-adoc/src/2-planning/2-mocking.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/2-planning/2-mocking.adoc -------------------------------------------------------------------------------- /old-adoc/src/2-planning/3-documentation.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/2-planning/3-documentation.adoc -------------------------------------------------------------------------------- /old-adoc/src/2-planning/X-validation.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/2-planning/X-validation.adoc -------------------------------------------------------------------------------- /old-adoc/src/2-planning/images/docs-redoc-data-struct.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/2-planning/images/docs-redoc-data-struct.png -------------------------------------------------------------------------------- /old-adoc/src/2-planning/images/docs-redoc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/2-planning/images/docs-redoc.png -------------------------------------------------------------------------------- /old-adoc/src/2-planning/images/docs-swagger-ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/2-planning/images/docs-swagger-ui.png -------------------------------------------------------------------------------- /old-adoc/src/2-planning/images/editors-graphql-editor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/2-planning/images/editors-graphql-editor.png -------------------------------------------------------------------------------- /old-adoc/src/2-planning/images/editors-stoplight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/2-planning/images/editors-stoplight.png -------------------------------------------------------------------------------- /old-adoc/src/2-planning/images/editors-swagger-editor-form.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/2-planning/images/editors-swagger-editor-form.png -------------------------------------------------------------------------------- /old-adoc/src/2-planning/images/editors-swagger-editor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/2-planning/images/editors-swagger-editor.png -------------------------------------------------------------------------------- /old-adoc/src/2-planning/images/editors-swaggerhub-demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/2-planning/images/editors-swaggerhub-demo.png -------------------------------------------------------------------------------- /old-adoc/src/2-planning/images/editors-swaggerhub-invite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/2-planning/images/editors-swaggerhub-invite.png -------------------------------------------------------------------------------- /old-adoc/src/2-planning/images/mocks-my-json-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/2-planning/images/mocks-my-json-server.png -------------------------------------------------------------------------------- /old-adoc/src/2-planning/part.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/2-planning/part.adoc -------------------------------------------------------------------------------- /old-adoc/src/3-testing/X-debugging.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/3-testing/X-debugging.adoc -------------------------------------------------------------------------------- /old-adoc/src/3-testing/X-traffic-inspection.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/3-testing/X-traffic-inspection.adoc -------------------------------------------------------------------------------- /old-adoc/src/4-management/X-evolution.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/4-management/X-evolution.adoc -------------------------------------------------------------------------------- /old-adoc/src/4-management/X-gateways.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/4-management/X-gateways.adoc -------------------------------------------------------------------------------- /old-adoc/src/4-management/X-portals.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/4-management/X-portals.adoc -------------------------------------------------------------------------------- /old-adoc/src/6-further-theory/1-picking-paradigms.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/6-further-theory/1-picking-paradigms.adoc -------------------------------------------------------------------------------- /old-adoc/src/6-further-theory/X-common-architectures.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/6-further-theory/X-common-architectures.adoc -------------------------------------------------------------------------------- /old-adoc/src/book.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/book.adoc -------------------------------------------------------------------------------- /old-adoc/src/cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/old-adoc/src/cover.png -------------------------------------------------------------------------------- /old-adoc/src/plantuml.cfg: -------------------------------------------------------------------------------- 1 | skinparam defaultFontName Noto Serif 2 | 3 | -------------------------------------------------------------------------------- /src/0-stuff/author.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/0-stuff/author.adoc -------------------------------------------------------------------------------- /src/0-stuff/howto.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/0-stuff/howto.adoc -------------------------------------------------------------------------------- /src/0-stuff/introduction.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/0-stuff/introduction.adoc -------------------------------------------------------------------------------- /src/1-introduction-to-apis/1-history-of-apis.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/1-introduction-to-apis/1-history-of-apis.adoc -------------------------------------------------------------------------------- /src/1-introduction-to-apis/2-apis-services-microservices.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/1-introduction-to-apis/2-apis-services-microservices.adoc -------------------------------------------------------------------------------- /src/1-introduction-to-apis/3-different-paradigms.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/1-introduction-to-apis/3-different-paradigms.adoc -------------------------------------------------------------------------------- /src/1-introduction-to-apis/4-api-lifecycle.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/1-introduction-to-apis/4-api-lifecycle.adoc -------------------------------------------------------------------------------- /src/1-introduction-to-apis/images/contracts-unspecified-json.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/1-introduction-to-apis/images/contracts-unspecified-json.jpeg -------------------------------------------------------------------------------- /src/1-introduction-to-apis/images/forrestbrazeal-distributed-8ball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/1-introduction-to-apis/images/forrestbrazeal-distributed-8ball.png -------------------------------------------------------------------------------- /src/1-introduction-to-apis/images/graphql-mutation-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/1-introduction-to-apis/images/graphql-mutation-example.png -------------------------------------------------------------------------------- /src/1-introduction-to-apis/images/graphql-query-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/1-introduction-to-apis/images/graphql-query-example.png -------------------------------------------------------------------------------- /src/1-introduction-to-apis/images/service-is-not.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/1-introduction-to-apis/images/service-is-not.jpg -------------------------------------------------------------------------------- /src/1-introduction-to-apis/part.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/1-introduction-to-apis/part.adoc -------------------------------------------------------------------------------- /src/2-api-design-basics/01-structuring-urls.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/01-structuring-urls.adoc -------------------------------------------------------------------------------- /src/2-api-design-basics/02-http-methods.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/02-http-methods.adoc -------------------------------------------------------------------------------- /src/2-api-design-basics/03-parameters.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/03-parameters.adoc -------------------------------------------------------------------------------- /src/2-api-design-basics/04-collections.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/04-collections.adoc -------------------------------------------------------------------------------- /src/2-api-design-basics/05-data-formats.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/05-data-formats.adoc -------------------------------------------------------------------------------- /src/2-api-design-basics/06-request-body.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/06-request-body.adoc -------------------------------------------------------------------------------- /src/2-api-design-basics/07-status-codes.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/07-status-codes.adoc -------------------------------------------------------------------------------- /src/2-api-design-basics/08-response-data.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/08-response-data.adoc -------------------------------------------------------------------------------- /src/2-api-design-basics/09-pagination.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/09-pagination.adoc -------------------------------------------------------------------------------- /src/2-api-design-basics/10-filtering.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/10-filtering.adoc -------------------------------------------------------------------------------- /src/2-api-design-basics/11-errors.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/11-errors.adoc -------------------------------------------------------------------------------- /src/2-api-design-basics/12-caching.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/12-caching.adoc -------------------------------------------------------------------------------- /src/2-api-design-basics/13-file-uploads.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/13-file-uploads.adoc -------------------------------------------------------------------------------- /src/2-api-design-basics/14-security.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/14-security.adoc -------------------------------------------------------------------------------- /src/2-api-design-basics/15-versioning.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/15-versioning.adoc -------------------------------------------------------------------------------- /src/2-api-design-basics/images/caching/httpcachehit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/images/caching/httpcachehit.png -------------------------------------------------------------------------------- /src/2-api-design-basics/images/caching/httpcachemiss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/images/caching/httpcachemiss.png -------------------------------------------------------------------------------- /src/2-api-design-basics/images/data-formats/input-encoded-madness.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/images/data-formats/input-encoded-madness.jpg -------------------------------------------------------------------------------- /src/2-api-design-basics/images/data-formats/input-output-json-json.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/images/data-formats/input-output-json-json.jpg -------------------------------------------------------------------------------- /src/2-api-design-basics/images/errors/errors-200-ok.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/images/errors/errors-200-ok.jpeg -------------------------------------------------------------------------------- /src/2-api-design-basics/images/errors/signature-api-errors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/images/errors/signature-api-errors.png -------------------------------------------------------------------------------- /src/2-api-design-basics/images/errors/stripe-error-codes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/images/errors/stripe-error-codes.png -------------------------------------------------------------------------------- /src/2-api-design-basics/part.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/2-api-design-basics/part.adoc -------------------------------------------------------------------------------- /src/3-openapi/1-introduction.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/3-openapi/1-introduction.adoc -------------------------------------------------------------------------------- /src/3-openapi/2-understanding-structure.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/3-openapi/2-understanding-structure.adoc -------------------------------------------------------------------------------- /src/3-openapi/3-data-models.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/3-openapi/3-data-models.adoc -------------------------------------------------------------------------------- /src/3-openapi/4-advanced.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/3-openapi/4-advanced.adoc -------------------------------------------------------------------------------- /src/3-openapi/5-documentation.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/3-openapi/5-documentation.adoc -------------------------------------------------------------------------------- /src/3-openapi/6-extending.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/3-openapi/6-extending.adoc -------------------------------------------------------------------------------- /src/3-openapi/images/OpenAPI-2-versus-OpenAPI-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/3-openapi/images/OpenAPI-2-versus-OpenAPI-3.png -------------------------------------------------------------------------------- /src/3-openapi/images/bump-tag-description.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/3-openapi/images/bump-tag-description.png -------------------------------------------------------------------------------- /src/3-openapi/images/bump-x-topics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/3-openapi/images/bump-x-topics.png -------------------------------------------------------------------------------- /src/3-openapi/images/diff_attribute.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/3-openapi/images/diff_attribute.png -------------------------------------------------------------------------------- /src/3-openapi/images/preview_pings_sections.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/3-openapi/images/preview_pings_sections.png -------------------------------------------------------------------------------- /src/3-openapi/images/tag-with-externaldocs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/3-openapi/images/tag-with-externaldocs.png -------------------------------------------------------------------------------- /src/3-openapi/images/tagged_endpoints.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/3-openapi/images/tagged_endpoints.png -------------------------------------------------------------------------------- /src/3-openapi/images/tags_order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/3-openapi/images/tags_order.png -------------------------------------------------------------------------------- /src/3-openapi/part.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/3-openapi/part.adoc -------------------------------------------------------------------------------- /src/4-api-design-first/1-introduction.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/4-api-design-first/1-introduction.adoc -------------------------------------------------------------------------------- /src/4-api-design-first/2-the-perfect-workflow.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/4-api-design-first/2-the-perfect-workflow.adoc -------------------------------------------------------------------------------- /src/4-api-design-first/api-explorer-request.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/4-api-design-first/api-explorer-request.png -------------------------------------------------------------------------------- /src/4-api-design-first/bump-hubs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/4-api-design-first/bump-hubs.png -------------------------------------------------------------------------------- /src/4-api-design-first/bump-sdks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/4-api-design-first/bump-sdks.png -------------------------------------------------------------------------------- /src/4-api-design-first/design-first-workflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/4-api-design-first/design-first-workflow.png -------------------------------------------------------------------------------- /src/4-api-design-first/images/api-explorer-request.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/4-api-design-first/images/api-explorer-request.png -------------------------------------------------------------------------------- /src/4-api-design-first/images/bump-hubs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/4-api-design-first/images/bump-hubs.png -------------------------------------------------------------------------------- /src/4-api-design-first/images/bump-sdks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/4-api-design-first/images/bump-sdks.png -------------------------------------------------------------------------------- /src/4-api-design-first/images/design-first-workflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/4-api-design-first/images/design-first-workflow.png -------------------------------------------------------------------------------- /src/4-api-design-first/images/introduction/code-first-design-first.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/4-api-design-first/images/introduction/code-first-design-first.png -------------------------------------------------------------------------------- /src/4-api-design-first/images/vacuum-annotations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/4-api-design-first/images/vacuum-annotations.png -------------------------------------------------------------------------------- /src/4-api-design-first/part.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/4-api-design-first/part.adoc -------------------------------------------------------------------------------- /src/4-api-design-first/vacuum-annotations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/4-api-design-first/vacuum-annotations.png -------------------------------------------------------------------------------- /src/5-design-a-new-api/part.adoc: -------------------------------------------------------------------------------- 1 | [part] 2 | = Part 5: Design a new API 3 | -------------------------------------------------------------------------------- /src/6-maintaining-an-api/part.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/6-maintaining-an-api/part.adoc -------------------------------------------------------------------------------- /src/7-taking-apis-further/part.adoc: -------------------------------------------------------------------------------- 1 | [part] 2 | = Part 7: Taking APIs Further 3 | -------------------------------------------------------------------------------- /src/8-testing-apis/1-introduction.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/8-testing-apis/1-introduction.adoc -------------------------------------------------------------------------------- /src/8-testing-apis/part.adoc: -------------------------------------------------------------------------------- 1 | [part] 2 | = Part 8: Testing APIs 3 | 4 | include::1-introduction.adoc[] 5 | -------------------------------------------------------------------------------- /src/book.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/book.adoc -------------------------------------------------------------------------------- /src/cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/src/cover.png -------------------------------------------------------------------------------- /src/plantuml.cfg: -------------------------------------------------------------------------------- 1 | skinparam defaultFontName Noto Serif 2 | 3 | -------------------------------------------------------------------------------- /topics.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apisyouwonthate/book-build-apis-2/HEAD/topics.txt --------------------------------------------------------------------------------