dev-resources.site
for different kinds of informations.
Convert OpenAPI spec to JSON Schema
Published at
2/9/2021
Categories
Author
Eduardo Issao Ito
Categories
1 categories in total
open
I've created a Groovy script to convert from "OpenAPI" specification (aka Swagger file) to "JSON Schema".
https://github.com/adzubla/schema-convert
groovy SchemaConvert.groovy openapi-spec.yaml
You can add the -m
option to generate a schema compatible with MongoDB.
groovy SchemaConvert.groovy openapi-spec.yaml -m
Sample execution
groovy SchemaConvert.groovy petstore.yaml
Input file petstore.yaml
:
openapi: "3.0.0"
info:
version: 1.0.0
title: Swagger Petstore
license:
name: MIT
servers:
- url: http://petstore.swagger.io/v1
paths:
/pets:
get:
summary: List all pets
operationId: listPets
tags:
- pets
parameters:
- name: limit
in: query
description: How many items to return at one time (max 100)
required: false
schema:
type: integer
format: int32
responses:
'200':
description: A paged array of pets
headers:
x-next:
description: A link to the next page of responses
schema:
type: string
content:
application/json:
schema:
$ref: "#/components/schemas/Pets"
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
post:
summary: Create a pet
operationId: createPets
tags:
- pets
responses:
'201':
description: Null response
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/pets/{petId}:
get:
summary: Info for a specific pet
operationId: showPetById
tags:
- pets
parameters:
- name: petId
in: path
required: true
description: The id of the pet to retrieve
schema:
type: string
responses:
'200':
description: Expected response to a valid request
content:
application/json:
schema:
$ref: "#/components/schemas/Pets"
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
components:
schemas:
Pets:
type: array
items:
$ref: "#/components/schemas/Pet"
Pet:
required:
- id
- name
properties:
id:
type: integer
format: int64
name:
type: string
tag:
type: string
Error:
required:
- code
- message
properties:
code:
type: integer
format: int32
message:
type: string
Output file petstore.json
:
{"key": "value"}
Articles
12 articles in total
Resumo Kubernetes
read article
Check for newer versions of dependencies in pom.xml
read article
Changing the JVM in spring-boot:build-image
read article
Changing the base Linux image in spring-boot:build-image
read article
Custom Root CA in spring-boot:build-image
read article
Getting http status in curl
read article
DB2 backup/restore schema
read article
Using MTLS
read article
Convert OpenAPI spec to JSON Schema
currently reading
Json validation with OpenAPI Schema
read article
SFTP server in Ubuntu
read article
Using multiple JMS servers with Spring Boot
read article
Featured ones: