@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:
- Using Smithy
- Using OpenAPI
- Integrations
- Mocking Responses
- Authorizers
- Lambda Handlers
- React Query Hooks
- API Keys
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
- Download URL: aws_prototyping_sdk.type_safe_api-0.19.68.tar.gz
- Upload date:
- Size: 1.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bb960a961d5057f3bf702e8bb23780a445f942edacfe90df10657e8ab53757d |
|
MD5 | 92996d68c95e0b03059684b6555f3825 |
|
BLAKE2b-256 | 575a2ff4e211e8e432dd6c8b0ac4b3ebff32402ff52ff6520b8d2e322c1c9c8e |
File details
Details for the file aws_prototyping_sdk.type_safe_api-0.19.68-py3-none-any.whl
.
File metadata
- Download URL: aws_prototyping_sdk.type_safe_api-0.19.68-py3-none-any.whl
- Upload date:
- Size: 1.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07d8b6fbf2f0123087c23e2fe5b96d8bb624e5cb981d9e5cb414c250be7ebf2c |
|
MD5 | 8995905871d7abcd3fc76dfd2b7c5785 |
|
BLAKE2b-256 | ecaea468235102932ac6ccecea67c4b5db0e68bb3becb2b82429eb336a28c687 |