Tips on Creating a Design-First API Using Rust

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • rust-example-caster-api

    DEPRECATED: A demo Rust API implementation using Tokio, Axum, async-graphql, and SeaORM

  • This repo has been a godsend - https://github.com/bkonkle/rust-example-caster-api/tree/main

  • vmd

  • Hey! I have been working on a project which used openAPI as you describe https://github.com/tiiuae/vmd. If you look into closed PRs you might find some discussions. It was not a painless thing to get to work according to our requirements.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • openapi-generator

    OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)

  • How about this; there's some rust samples in there - https://github.com/OpenAPITools/openapi-generator/tree/master

  • dropshot

    expose REST APIs from a Rust program

  • Try dropshot by the Oxide Computer team. It generates an open api spec from your rust code directly.

  • libninja

    Generate client libraries that are featureful, human, well-documented, and async based on OpenAPI specs

  • You might check out https://github.com/kurtbuilds/libninja

  • smithy-rs

    Code generation for the AWS SDK for Rust, as well as server and generic smithy client generation.

  • AWS recently released https://github.com/awslabs/smithy-rs, which is the basis upon which the AWS Rust SDKs are built. The team behind it are still refining it, there’s the odd corner-case with smithy models that will catch it, but it is pretty decent now.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts