Open federico-dobal opened 3 years ago
I'd love to know it as well
Oh jeez. It seems to be over a year since this issue has been opened and no resolution. I hope I'm not necro-posting.
I figured out how to somewhat get serverless-openapi-documentation
working with the serverless TS template. I say "somewhat" because there's a few kinks that I found when using this plugin but it's a good place to start for anyone else looking into this.
For initial configurations, I created a new typescript file called docs
. Inside it has the following contents
const docs = {
version: '1',
title: 'Some title',
description: 'My API description',
models: [ ... ]
};
export default docs;
This is then imported into the "custom" property of the serverless template like so:
import docs from "./docs";
...
custom: {
documentation: docs
...
...
Then added the serverless-openapi-documentation
into my list of plugins.
To set up functions, I separated out the functions configuration in its own typescript file and assigned it to a constant like so:
export const functions: any = {
myFunction: {
...,
documentation: {
...
}
}
}
After that, I then imported this separate file into my main serverless template like so:
import {functions} from "./functions"
const serverlessConfiguration = {
...,
functions,
...
}
When running serverless openapi generate
, it creates an openapi.yml
that contains documentation about my functions, models and response types but it can't seem to translate pathParams
or queryParams
properly.
I specified them in my documentation like so:
pathParams: [
{
name: 'id',
description: 'Hotel ID to retrieve',
schema: {
type: 'string'
}
}
],
But it doesn't seem to be included in the openapi.yml
output. Am I missing anything here?
Issue described here:
https://stackoverflow.com/questions/64117950/how-to-use-serverless-openapi-documentation-with-serverless-typescript-template