https://github.com/tddschn/cf-worker-template-itty-router-openapi
https://github.com/tddschn/cf-worker-template-itty-router-openapi
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/tddschn/cf-worker-template-itty-router-openapi
- Owner: tddschn
- Created: 2024-02-03T04:04:53.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-02-03T13:13:40.000Z (over 2 years ago)
- Last Synced: 2026-04-16T21:06:06.946Z (about 2 months ago)
- Language: TypeScript
- Size: 20.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Cloudflare Workers OpenAPI 3.1
- [Cloudflare Workers OpenAPI 3.1](#cloudflare-workers-openapi-31)
- [Use this template](#use-this-template)
- [Get started](#get-started)
- [Project structure](#project-structure)
- [Development](#development)
- [Compared to the stock template](#compared-to-the-stock-template)
This is a Cloudflare Worker with OpenAPI 3.1 using [itty-router-openapi](https://github.com/cloudflare/itty-router-openapi).
This is an example project made to be used as a quick start into building OpenAPI compliant Workers that generates the
`openapi.json` schema automatically from code and validates the incoming request to the defined parameters or request body.
## Use this template
```
alias c3='npm create cloudflare@latest'
c3 -- --template https://github.com/tddschn/cf-worker-template-itty-router-openapi
```
## Get started
1. Sign up for [Cloudflare Workers](https://workers.dev). The free tier is more than enough for most use cases.
2. Clone this project and install dependencies with `npm install`
3. Run `wrangler login` to login to your Cloudflare account in wrangler
4. Run `wrangler deploy` to publish the API to Cloudflare Workers
## Project structure
1. Your main router is defined in `src/index.ts`.
2. Each endpoint has its own file in `src/endpoints/`.
3. For more information read the [itty-router-openapi official documentation](https://cloudflare.github.io/itty-router-openapi/).
## Development
1. Run `wrangler dev` to start a local instance of the API.
2. Open `http://localhost:9000/` in your browser to see the Swagger interface where you can try the endpoints.
3. Changes made in the `src/` folder will automatically trigger the server to reload, you only need to refresh the Swagger interface.
## Compared to the stock template
- CORS example
- 404 undefined routes
- removes `task` example
- custom domain in `wrangler.toml`