From c8558cdd8c6496481d158b256e6e222f94c4aa4f Mon Sep 17 00:00:00 2001 From: tyranron Date: Thu, 25 Jan 2024 15:49:36 +0200 Subject: [PATCH] Mention `apistos` crate in Step 4.3 --- 4_backend/4_3_api/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/4_backend/4_3_api/README.md b/4_backend/4_3_api/README.md index 59c5a16..21d2f30 100644 --- a/4_backend/4_3_api/README.md +++ b/4_backend/4_3_api/README.md @@ -28,7 +28,7 @@ For more information about [REST], read through the following articles: > > An OpenAPI definition can then be used by documentation generation tools to display the API, code generation tools to generate servers and clients in various programming languages, testing tools, and many other use cases. -In [Rust] ecosystem, most [OpenAPI] crates follow the __code-first approach__ (generating [OpenAPI] schema from source code). The most notable crates for this are [`utoipa`] and [`okapi`]. +In [Rust] ecosystem, most [OpenAPI] crates follow the __code-first approach__ (generating [OpenAPI] schema from source code). The most notable crates for this are [`utoipa`], [`okapi`] and [`apistos`]. For the opposite (generating source code from [OpenAPI] schema) [Rust] ecosystem lacks its own pure implementation, and the original [OpenAPI] tool [`openapi-generator`] should be used (powered by the [`swagger`] crate). @@ -37,6 +37,7 @@ For more familiarity with [OpenAPI] and using it in [Rust], read through the fol - [SwaggerHub Documentation: OpenAPI 3.0 Tutorial][122] - [Official `utoipa` crate docs][`cynic`] - [Official `okapi` crate docs][`okapi`] +- [Official `apistos` crate docs][`apistos`] - [Twilio Docs: Generate a Rust client for Twilio's API][121] - [Fabian Odenthal: Auto-Generating & Validating OpenAPI Docs in Rust: A Streamlined Approach with Utoipa and Schemathesis][123] - [Olly Dixon: Auto-generating API service using Rust, to TypeScript & Dart][124] @@ -137,6 +138,7 @@ After completing everything above, you should be able to answer (and understand +[`apistos`]: https://docs.rs/apistos [`async-graphql`]: https://docs.rs/async-graphql [`cynic`]: https://docs.rs/cynic [`graphql-client`]: https://github.com/graphql-rust/graphql-client