Convert Gherkin To OpenAPI
OpenAPI is now the primary format supported by Specmatic for RESTful APIs.
Specmatic can convert contracts using the older format to OpenAPI 3.0.x, from 0.32.0 onwards.
The command is java -jar specmatic.jar to-openapi /path/to/contract/file.spec
.
For example, here’s a contract for an API that generates a random number.
#file name: random.spec
Feature: Random API
Scenario: Random number
When GET /
Then status 200
And response-body (number)
Start up Command Prompt (Windows) or Terminal (MacOS). cd into the directory containing this file.
Convert it to yaml using java -jar specmatic.jar to-openapi ./random.spec
NOTE: remember to use the path to specmatic.jar in the above command.
The convert generates a new file named random.yaml.
Here’s what it contains:
---
openapi: "3.0.1"
info:
title: "Random API"
version: "1"
paths:
/:
get:
summary: "Random number"
parameters: []
responses:
"200":
description: "Random number"
content:
text/plain:
schema:
type: "number"
The following features are not yet supported:
- Multipart responses
- x-www-form-urlencoded data with more than one field
- XML contracts
For SOAP, simply replace the .spec or .qontract file with the original WSDL file. Read more about it here.