Home Applications swagger-validator-cli

swagger-validator-cli

InterSystems does not provide technical support for this project. Please contact its developer for the technical assistance.
0
0 reviews
1
Awards
282
Views
292
IPM installs
2
1
Details
Releases (4)
Reviews
Awards (1)
Issues
Dependants (4)
Client ObjectScript for swagger validator services

What's new in this version

  • remove unused pip install command

Gitter
Quality Gate Status
Reliability Rating

iris swagger validator client

This is an ObjectScript client for swagger validator tools.

Description

This is a client only, there is no validation logic in this library.
It uses validator.swagger.io.

Currently Version 0.0.1, only these services are implemented :

  • GET Parse.
  • POST Parse.

It’s also possible to use a local instance of the swagger validator.
See the documentation on swagger-parser GitHub repository to start a local docker container.

Installation

Terminal IRIS

zpm "install swagger-validator-cli"

Usage

Example of using “Parse” operation with an URL:

    Set webValidator = ##class(dc.swaggervalidatorcli.WebSwaggerValidator).%New()
    Set queryParameters("flatten")="true", queryParameters("url")="https://validator.swagger.io/validator/openapi.json"
    Set sc = webValidator.ParseByUrl(.queryParameters, .OpenAPIV3)
    If ''sc Do ##class(%JSON.Formatter).%New().Format(OpenAPIV3)

Example of using “Parse” operation with specification in a file.

    Set webValidator = ##class(dc.swaggervalidatorcli.WebSwaggerValidator).%New()
    Set webValidator.specification = ##class(dc.swaggervalidatorcli.WebSwaggerValidator).fileToDynamic("/home/irisowner/irisdev/spec.json")
    Set queryParameters("flatten")="true"
    Set sc = webValidator.Parse(.queryParameters, .OpenAPIV3)
    If ''sc Do ##class(%JSON.Formatter).%New().Format(OpenAPIV3)

If you prefer use your own swagger validator instance instead of public REST services, set these nodes with your configuration :

    Set ^swaggervalidator("ValidatorURL") = "https://validator.swagger.io/"
    Set ^swaggervalidator("Port") = "443"
    Set ^swaggervalidator("SSLConfig") = "default"

Docker Installation

Clone/git pull the repo into any local directory

$ git clone https://github.com/lscalese/iris-swagger-validator-cli

Open the terminal in this directory and call the command to build and run InterSystems IRIS in container:

$ docker-compose up -d

If you have an error:

iris_1  | terminate called after throwing an instance of 'std::runtime_error'
iris_1  |   what():  Unable to find/open file iris-main.log in current directory /home/irisowner/irisdev

It’s probleme with right to create the iris-main.log file in the current directory.

Try:

touch iris-main.log
chmod 777 iris-main.log

To open IRIS Terminal do:

$ docker-compose exec iris iris session iris -U IRISAPP

To exit the terminal, do any of the following:

Enter HALT or H (not case-sensitive)
Made with
Install
zpm install swagger-validator-cli download archive
Version
0.0.415 Jan, 2024
ObjectScript quality test
Category
Integration
Works with
InterSystems IRIS
First published
15 Jan, 2023
Last edited
15 Jan, 2024
Last checked by moderator
14 Feb, 2025Works