Skip to content

Add support for readOnly and writeOnly properties #30

Open

Description

@jormaechea

Summary
Apisprout does not support readOnly and writeOnly attributes of properties.

Steps to reproduce
Mock this schema:

paths:
  /foo:
    get:
      operationId: getFoo
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/fooSchema"
    post:
      operationId: postFoo
      requestBody:
        description: The state to set to the alarm
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/fooSchema"

components:
  schemas:
    fooSchema:
      type: object
      properties:
        normalProp:
          type: string
        readOnlyProp:
          readOnly: true
        writeOnlyProp:
          writeOnly: true
      required:
        - normalProp
        - readOnlyProp
        - writeOnlyProp

Actual result
In GET operation, the example includes writeOnlyProp. In POST operation it requires readOnlyProp.

Expected result

  1. It shouldn't include writeOnly properties in auto-generated examples. The response should be:
{
  "normalProp": "string",
  "readOnlyProp": "string"
}
  1. It shouldn't require readOnly properties in the request body. This request body should be valid:
{
  "normalProp": "foo",
  "writeOnlyProp": "bar"
}

Activity

  1. danielgtaylor commented on Mar 13, 2019

    @danielgtaylor
    Owner
  2. danielgtaylor commented on Mar 13, 2019

    @danielgtaylor
    Owner

    @jormaechea for the two parts:

    1. I will update the example generator to take these into account.

    2. This is actually an upstream issue, and I have opened Request Validator Checks readOnly Properties getkin/kin-openapi#71 so that it can be handled in the correct repo.

    Thanks for these awesome bug reports!

  3. jormaechea commented on Mar 13, 2019

    @jormaechea
    Author
    1. Great!
    2. Just subscribed to the upstream issue.

    Glad to help with issue reporting! I'd also contribute, but I'm not familiar with go.. 😞

  4. jormaechea commented on Jun 11, 2019

    @jormaechea
    Author

    @danielgtaylor you had no news about the upstream issue yet? 😞

  5. fenollp commented on Oct 21, 2020

    @fenollp

    FYI getkin/kin-openapi#71 is closed and a new release pushed, please take a look :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingupstream

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions