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?
3.10. 0+. This config can also disable "Try it out" selectively for specific HTTP methods. For example, supportedSubmitMethods: ["get", "head"] keeps "Try it out" only for GET and HEAD, but disables it for POST, PUT, PATCH, DELETE and other methods.
To load your swagger specification yaml file you need to use a module able to convert yaml to json; for instance yamljs.
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
to add up, in java you can add a bean in your swagger config class to do that:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
UiConfiguration uiConfig()
{
return new UiConfiguration( null, UiConfiguration.Constants.NO_SUBMIT_METHODS );
}
}
Basically it will put supportedSubmitMethods
to []
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With