temando / serverless-openapi-documentation

Serverless 1.0 plugin to generate OpenAPI V3 documentation from serverless configuration
MIT License
93 stars 127 forks source link

Examples don't work, possible bug #25

Open piersmacdonald opened 6 years ago

piersmacdonald commented 6 years ago

The serverless.docs.yml and serverless.yml duplicate the same documentation and it's not clear which was used to generate the openapi.yml in the directory.

When I run the sample my createUser endpoint fails to create a requestBody , I can't replicate the openapi.yml in the test/project directory. If I run the serverless.yml in the sample I get this in my output


    post:
      operationId: createUser
      summary: Create User
      description: Creates a user and then sends a generated password email
      responses:
        '201':
          description: A user object along with generated API Keys
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PutDocumentResponse'
        '500':
          description: An error message when creating a new user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'```

Without this I'm not sure if there's a reason I can't add a request body to an endpoint
pig800509 commented 6 years ago

+1

David-Sellen commented 6 years ago

There is a bug since #16 which ignores request body and path parameters which is solved by PR #24.

pig800509 commented 6 years ago

@David-Sellen I don't see it is solved by now, which version do you use? I run serverless openapi generate -o swagger.json -f json and this is path of swagger.json

"paths": {
    "/create": {
      "post": {
        "operationId": "createUser",
        "summary": "Create User",
        "description": "Creates a user and then sends a generated password email",
        "responses": {
          "201": {
            "description": "A user object along with generated API Keys",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PutDocumentResponse"
                }
              }
            }
          },
          "500": {
            "description": "An error message when creating a new user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  }
David-Sellen commented 6 years ago

@pig800509 that is because the fix has not been merged into this repo

pig800509 commented 6 years ago

@David-Sellen I see, thank you so much.