Skip to content

Conversation

tim-lai
Copy link
Contributor

@tim-lai tim-lai commented Sep 14, 2022

Description

add documentation for OpenAPI 3.1.0 Link Object

Motivation and Context

Ref: #1987

How Has This Been Tested?

local.

fixture:

openapi: 3.1.0
info:
  title: deref
  version: 1.0.0
paths:
  /b:
    get:
      operationId: bget
      responses:
        '200':
          description: the user being returned
          links:
            address:
              # the target link operationId
              operationId: getUserAddress
              description: sample of links from docs
              parameters:
                # get the `id` field from the request path parameter named `id`
                userId: $request.path.id
    post:
      operationId: bpost
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/foo'
      responses:
        '200':
          description: returnData to bpost
          links:
            UserRepositories:
              # returns array of '#/components/schemas/repository'
              operationRef: '#/paths/~12.0~1repositories~1{username}/get'
              requestBody:
                username: $response.body#/username

Screenshots (if appropriate):

parent:

ls-pr-2010-link-1

target: operationId

ls-pr-2010-link-2-target1

target: operationRef

ls-pr-2010-link-3-target2

Checklist

My PR contains...

  • No code changes (src/ is unmodified: changes to documentation, CI, metadata, etc.)
  • Dependency changes (any modification to dependencies in package.json)
  • Bug fixes (non-breaking change which fixes an issue)
  • Improvements (misc. changes to existing features)
  • Features (non-breaking change which adds functionality)

My changes...

  • are breaking changes to a public API (config options, System API, major UI change, etc).
  • are breaking changes to a private API (Redux, component props, utility functions, etc.).
  • are breaking changes to a developer API (npm script behavior changes, new dev system dependencies, etc).
  • are not breaking changes.

Documentation

  • My changes do not require a change to the project documentation.
  • My changes require a change to the project documentation.
  • If yes to above: I have updated the documentation accordingly.

Automated tests

  • My changes can not or do not need to be tested.
  • My changes can and should be tested by unit and/or integration tests.
  • If yes to above: I have added tests to cover my changes.
  • If yes to above: I have taken care to cover edge cases in my tests.
  • All new and existing tests passed.

@tim-lai tim-lai merged commit ba6bf7c into main Sep 14, 2022
@tim-lai tim-lai deleted the feat/oas31-docs-link branch September 14, 2022 17:10
@tim-lai tim-lai added enhancement New feature or request OpenAPI 3.1 ApiDOM labels Sep 14, 2022
@tim-lai tim-lai self-assigned this Sep 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant