Search code examples
swaggerswagger-uiswagger-2.0

No "Try it out" button for HEAD method in Swagger UI


I have a Swagger spec that defines a HEAD operation:

head:
  description: show flight exist or not.

  parameters:
    - name: flight_no
      in: path
      type: string
      description: Flight_no
      required: true
  produces:
    - application/json
    - application/xml

  responses:
    200:
      description: success response
      schema:
        type: array
        items:
          $ref: '#/definitions/Data'
    '404':
      description: flight does not exist

In Swagger UI v. 2, this HEAD operation has no "try it out" button. How can I add "try it out" for HEAD?

HEAD operation in Swagger UI


Solution

  • You can try Swagger UI 3.0 – HEAD has "try it out" by default in this version.

    If you use Swagger UI 2.0, HEAD is disabled by default. You need to explicitly enable it in the supportedSubmitMethods list in the Swagger UI initialization code in index.html:

    window.swaggerUi = new SwaggerUi({
      url: url,
      dom_id: "swagger-ui-container",
      supportedSubmitMethods: ['get', 'post', 'put', 'delete', 'patch', 'head'],
      //                                                                   ^
      // ------------------------------------------------------------------┘
    


    By the way, schema in a HEAD response is not really useful because HEAD is not supposed to return an actual body – only the headers. You should change the 200 response to:

    responses:
      200:
        description: success response