2

I have one API yaml file contains 3 APIs and all of API need header parameters with same definition. would i know whether OAS 3.0 supports define same header parameters in the component and use $ref

/service1:
  /post:
    post:
      **parameters:
        - in: header
          name: X-partner**

/service2:
  /post:
    post:
      **parameters:
        - in: header
          name: X-partner**

/service3:
  /post:
    post:
      **parameters:
        - in: header
          name: X-partner**

how to define the X-partner in component so that I do not need to copy&paste every time? Thanks

Baodi Di
  • 540
  • 2
  • 6
  • 16
  • Related: [How to define header parameters in OpenAPI 3.0?](https://stackoverflow.com/q/50117059/113116), [Swagger/OpenAPI - use $ref to pass a reusable defined parameter](https://stackoverflow.com/q/27005105/113116) – Helen Oct 07 '19 at 10:42

1 Answers1

3

Yes, you can define reusable header parameters (and other parameter types) in the global components/parameters section and reference them by using $ref.

openapi: 3.0.2
...

components:
  parameters:
    X-partner:
      in: header
      name: X-partner
      schema:
        type: string
      required: true

paths:
  /service1:
    post:
      parameters:
        - $ref: '#/components/parameters/X-partner'
Helen
  • 87,344
  • 17
  • 243
  • 314