Pode icon indicating copy to clipboard operation
Pode copied to clipboard

Support for OpenApi 3.x Tags

Open mdaneri opened this issue 1 year ago • 0 comments

Describe the Feature

Add support for Open API reusable headers

###Function Impacted Add-PodeOAResponse - Parameters -Headers

New Function

Add-PodeOATag

Properties

  • -Name The Name of the tag.

  • -Description A Description of the tag.

  • -ExternalDoc If supplied, the tag references an existing external documentation reference. The parameter is created by Add-PodeOAExternalDoc

Examples

$swaggerDocs = New-PodeOAExternalDoc   -Description 'Find out more about Swagger' -Url 'http://swagger.io'
Add-PodeOATag -Name 'pet' -Description 'Everything about your Pets' -ExternalDoc $swaggerDocs

 Add-PodeRoute -PassThru -Method get -Path '/pet/findByStatus' -Authentication 'Login-OAuth2' -Scope 'read' -AllowAnon -ScriptBlock {
           #code
        } | 
Set-PodeOARouteInfo -Summary 'Finds Pets by status' -Description 'Multiple status values can be provided with comma-separated strings' ` 
-Tags 'pet' -OperationId 'findPetsByStatus' -PassThru |
Set-PodeOARequest -PassThru -Parameters @(
                (  New-PodeOAStringProperty -Name 'status' -Description 'Status values that need to be considered for filter' -Default 'available' -Enum @('available', 'pending', 'sold') | ConvertTo-PodeOAParameter -In Query )
            ) |
Add-PodeOAResponse -StatusCode 200 -Description 'Successful operation'  -Content (New-PodeOAContentMediaType -ContentMediaType 'application/json', 'application/xml' -Content 'Pet' -Array) -PassThru |
            Add-PodeOAResponse -StatusCode 400 -Description 'Invalid status value'
"tags": [ 
    {
      "name": "pet",
      "description": "Everything about your Pets",
      "externalDocs": {
        "description": "Find out more about Swagger",
        "url": "http://swagger.io"
      }
    }
  ]
tags:
  - name: pet
    description: Everything about your Pets
    externalDocs:
      description: Find out more about Swagger
      url: http://swagger.io

mdaneri avatar Dec 24 '23 23:12 mdaneri