Security News
Bun 1.2 Released with 90% Node.js Compatibility and Built-in S3 Object Support
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
@nightapes/serverless-openapi
Advanced tools
A simple openapi generator for [serverless](serverless.com).
A simple openapi generator for serverless.
Support for serverless 2 and 3
The files is generated locally without any upload to aws apigateway.
npm i -D @nightapes/serverless-openapi
Add plugin into your serverless.yml
file
plugins:
- '@nightapes/serverless-openapi'
To generate api run
serverless openapi
If you want to change the format (json or yaml) or the file name use
serverless openapi -o openapi.yaml
or set it via serverless yaml
custom:
openapi:
out: openapi.yaml
Under custom
add
custom:
openapi:
title: 'my fancy openapi'
version: '1.0.0'
description: 'My description of the serverless api'
tags:
- name: Settings
description: Description
Works only for aws http events, the request is the default serverless request schema.
functions:
create:
handler: posts.create
events:
- http:
path: v1/user-settings
method: put
tags:
- Settings
authorizer:
name: authorizer
scopes:
- admin
operationId: setUserSettings
cors: true
request:
schemas:
application/json:
schema: ${file(./your-schema.json)}
name: UserSettings
responseSchemas:
200:
application/json:
schema: ${file(./your-schema.json)}
name: UserSettings
description: 'UserSettings'
204:
application/json:
description: 'OK'
You can set a default response via
custom:
openapi:
defaultResponse:
application/json:
schema: ${file(./apiError.type.json)}
description: 'Default api error'
name: ApiError
Enable the default response per function via
functions:
create:
handler: posts.create
events:
- http:
path: v1/user-settings
defaultResponse: true
Following format to add paramters is supported. See SLS Doc
All parameters will be interpreted as string
expect you add a parameterMapper.
functions:
create:
handler: posts.create
events:
- http:
path: posts/create
method: post
request:
parameters:
querystrings:
url: true
headers:
foo: false
paths:
bar: false
parameterMappers:
querystrings:
foo:
type: enum
options:
- csv
- json
bar:
type: number
# Optional
description: "Description"
# Optional
deprecated: true
# Optional
isArray: false
# Optional
format: "int32"
At the moment only Bearer Auth with custom authorizer is supported See: https://www.serverless.com/framework/docs/providers/aws/events/apigateway#http-endpoints-with-custom-authorizers
custom:
openapi:
securitySchemes:
"authorizer": // Name of the custom authorizer
type: http
scheme: bearer
bearerFormat: JWT
Inside your function:
...
events:
- http:
authorizer:
name: authorizer
...
FAQs
A simple openapi generator for [serverless](serverless.com).
We found that @nightapes/serverless-openapi demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
Security News
Biden's executive order pushes for AI-driven cybersecurity, software supply chain transparency, and stronger protections for federal and open source systems.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.