Skip to main content

@aws-prototyping-sdk/type-safe-api

Project description

Type Safe API

Define your APIs using Smithy or OpenAPI v3, and leverage the power of generated client and server types, infrastructure, documentation, and automatic input validation!

This package vends a projen project type which allows you to define an API using either Smithy or OpenAPI v3, and a construct which manages deploying this API in API Gateway, given an integration (eg a lambda) for every operation.

The project will generate "runtime" projects from your API definition in your desired languages, which can be utilised both client side for interacting with your API, or server side for implementing your API. The project also generates a type-safe CDK construct which ensures an integration is provided for every API operation.

Code is generated at build time, so when you change your API model, just rebuild and you'll see your changes reflected in the generated code.

Project Structure

The TypeSafeApiProject projen project will create the following directory structure within its outdir:

|_ model/
    |_ src/
        |_ main/
            |_ smithy - your API definition if you chose ModelLanguage.SMITHY
            |_ openapi - your API definition if you chose ModelLanguage.OPENAPI
|_ generated/
    |_ runtime/ - generated types, client, and server code in the languages you specified
        |_ typescript
        |_ python
        |_ java
    |_ infrastructure/ - generated infrastructure (you'll find only one directory in here based on your chosen infrastructure language)
        |_ typescript
        |_ python
        |_ java
    |_ documentation/ - generated documentation in the formats you specified
        |_ html2
        |_ html_redoc
        |_ plantuml
        |_ markdown
    |_ library/ - generated libraries if specified
        |_ typescript-react-query-hooks

Getting Started

Please see the Getting Started Guide for how to get started!

Developer Guides

For more information about Type Safe API, take a look at the developer guides:

Walkthroughs

For detailed end-to-end examples, take a look at the walkthroughs:

You can also check out the Frequently Asked Questions.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

File details

Details for the file aws_prototyping_sdk.type_safe_api-0.19.68.tar.gz.

File metadata

File hashes

Hashes for aws_prototyping_sdk.type_safe_api-0.19.68.tar.gz
Algorithm Hash digest
SHA256 1bb960a961d5057f3bf702e8bb23780a445f942edacfe90df10657e8ab53757d
MD5 92996d68c95e0b03059684b6555f3825
BLAKE2b-256 575a2ff4e211e8e432dd6c8b0ac4b3ebff32402ff52ff6520b8d2e322c1c9c8e

See more details on using hashes here.

File details

Details for the file aws_prototyping_sdk.type_safe_api-0.19.68-py3-none-any.whl.

File metadata

File hashes

Hashes for aws_prototyping_sdk.type_safe_api-0.19.68-py3-none-any.whl
Algorithm Hash digest
SHA256 07d8b6fbf2f0123087c23e2fe5b96d8bb624e5cb981d9e5cb414c250be7ebf2c
MD5 8995905871d7abcd3fc76dfd2b7c5785
BLAKE2b-256 ecaea468235102932ac6ccecea67c4b5db0e68bb3becb2b82429eb336a28c687

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page