apisprout icon indicating copy to clipboard operation
apisprout copied to clipboard

Add support for readOnly and writeOnly properties

Open jormaechea opened this issue 6 years ago • 5 comments

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"
}

jormaechea avatar Mar 11 '19 16:03 jormaechea

Link to specification

danielgtaylor avatar Mar 13 '19 05:03 danielgtaylor

@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 getkin/kin-openapi#71 so that it can be handled in the correct repo.

Thanks for these awesome bug reports!

danielgtaylor avatar Mar 13 '19 05:03 danielgtaylor

  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.. :disappointed:

jormaechea avatar Mar 13 '19 22:03 jormaechea

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

jormaechea avatar Jun 11 '19 22:06 jormaechea

FYI https://github.com/getkin/kin-openapi/issues/71 is closed and a new release pushed, please take a look :)

fenollp avatar Oct 21 '20 07:10 fenollp