SlideShare a Scribd company logo
1 of 30
Download to read offline
OpenAPI Editing, Testing,
and Documenting
© 2022 Syncro Soft SRL. All rights reserved.
Octavian Nadolu, Syncro Soft
octavian.nadolu@oxygenxml.com
@OctavianNadolu
OpenAPI Edit, Test, Document
Agenda
 OpenAPI Specification
 Editing OpenAPI documents
 OpenAPI Tester Tool
 OpenAPI Documentation
OpenAPI Edit, Test, Document
OpenAPI Specification(OAS)
 Is a format for describing and documenting
APIs
 Allows both humans and computers to
discover and understand the capabilities of a
service
www.openapis.org
OpenAPI Edit, Test, Document
OpenAPI Documents
 Can be written in JSON or YAML
 Describes the inputs and outputs of an API
 Include information such as:
– where the API is hosted
– what authorization is required to access it
– details for consumers and producers
OpenAPI Edit, Test, Document
OpenAPI Example
JSON YAML
"openapi": "3.1.0",
"info": {
"title": "Dog API",
"version": "1.0.0"
},
"servers": [
{"url": "https://dog.ceo/api"}
],
"paths": {}
openapi: 3.1.0
info:
title: Dog API
version: 1.0.0
servers:
- url: https://dog.ceo/api
paths:
OpenAPI Edit, Test, Document
OpenAPI Example
JSON YAML
"paths": {
"/breed/{breedName}/images": {
"get": {
"description": "Get images",
"parameters": [],
"responses": {
"200": {
"description": "A list of images",
"content": {}
}
}
}
}
}
paths:
/breed/{breedName}/images:
get:
description: Get images
parameters:
responses:
"200":
description: A list of dog
content:
OpenAPI Edit, Test, Document
OpenAPI Versions
● OpenAPI 3.1
● OpenAPI 3.0
● OpenAPI/Swagger 2.0
OpenAPI Edit, Test, Document
OpenAPI 2.0 vs OpenAPI 3.0
OpenAPI Edit, Test, Document
OpenAPI 3.0 vs OpenAPI 3.1
OpenAPI Edit, Test, Document
Question: Do you use OpenAPI, what versions?
 No
 Yes. OpenAPI 3.1
 Yes. OpenAPI 3.0
 Yes. OpenAPI/Swagger 2.0 or other
OpenAPI Edit, Test, Document
Create OpenAPI
● Design/Create API using an editor
● Generate API from code
OpenAPI Edit, Test, Document
OpenAPI Tools
● Generate Documentation
● Generate Server
● Generate Client
OpenAPI Edit, Test, Document
OpenAPI Editor
 Syntax highlights
 Validation conforms with the schema
 Content completion based on the
schema
 Outline view
 Search and replace
OpenAPI Edit, Test, Document
Validation
 Validation based on the JSON Schema
 Create validation scenarios for each version
 Errors highlighted in editor
OpenAPI Edit, Test, Document
Content completion
 Properties and values presented in the content completion window
 Annotations for properties
OpenAPI Edit, Test, Document
Outline view
 Visualize the structure of the document
 Search for properties
 Synchronized with editor
OpenAPI Edit, Test, Document
JSON Schema in OpenAPI
 You can use JSON Schema to describe data objects for both requests and
responses
OpenAPI Edit, Test, Document
JSON Schema Support in Oxygen
 JSON Schema Editor - specialized editor with various editing features
 Validation against JSON Schema
 Editing based on JSON Schema
 Tools
– Generate JSON Schema Documentation
– Generate Sample JSON Files from a JSON Schema
– Generate JSON Schema from a JSON File
– XSD to JSON Schema Converter
OpenAPI Edit, Test, Document
Question: How do you create/intend to create OpenAPI?
 Edit/Design API
 Generate API from code
OpenAPI Edit, Test, Document
OpenAPI Visual Editor
 Edit documentation
 Form controls to change values
 Collapsible sections
 Customize interface with CSS
OpenAPI Edit, Test, Document
OpenAPI Documentation
 Tool for generating detailed documentation for a OpenAPI documents in HTML
format
OpenAPI Edit, Test, Document
OpenAPI Documentation
 Generate documentation in one file
or split into multiple files
 Option to include components details
 Display the diagram image for each
component
OpenAPI Edit, Test, Document
OpenAPI Tester Tool
 GUI interface testing tool for OpenAPI files
 Execute API requests and validate responses
on the fly
 OpenAPI files in JSON or YAML format
OpenAPI Edit, Test, Document
Other APIs
 AsyncAPI - defines the interfaces of asynchronous APIs
 JSON-LD - is a lightweight Linked Data format
OpenAPI Edit, Test, Document
Conclusion
 Edit/Design OpenAPI documents
 Edit/Design JSON Schema documents
 Edit documentation
 Generate Documentation for OpenAPI
 Test your OpenAPI
OpenAPI Edit, Test, Document
Future Plans
 Improve Editing and Validation for
OpenAPI 3.1, 3.0, 2.0
 Better Authoring support for OpenAPI
 Integrate OpenAPI documentation with
DITA
 Test Scenario for OpenAPI
 JSON Schema 2020-12
OpenAPI Edit, Test, Document
Question: What features are the most important for you?
 Improve Editing and Validation for OpenAPI
3.1, 3.0, 2.0
 OpenAPI Documentation
 Test Scenario for OpenAPI
 JSON Schema 2020-12
OpenAPI Edit, Test, Document
Resources
 oxygenxml.com/xml_editor/openapi.html
 oxygenxml.com/doc/ug-editor/topics/openapi-tester.html
 oxygenxml.com/doc/ug-editor/topics/openapi-documentation-generator.html
 https://www.openapis.org
 https://json-schema.org/
 https://www.asyncapi.com
 w3.org/TR/json-ld11/
OpenAPI Edit, Test, Document
Video Demos
 oxygenxml.com/demo/json_schema_palette.html
 oxygenxml.com/demo/introducing_the_json_schema_design.html
 oxygenxml.com/demo/json_author.html
 oxygenxml.com/demo/json_tools.html
 oxygenxml.com/demo/json_validation.html
 oxygenxml.com/demo/json_editing.html
 oxygenxml.com/demo/json_query.html
Questions?
Octavian Nadolu
Product Manager at Syncro Soft
octavian.nadolu@oxygenxml.com
Twitter: @OctavianNadolu
LinkedIn: octaviannadolu

More Related Content

More from Octavian Nadolu

Schematron For Non-XML Languages
Schematron For Non-XML LanguagesSchematron For Non-XML Languages
Schematron For Non-XML LanguagesOctavian Nadolu
 
JSON and JSON Schema in Oxygen
JSON and JSON Schema in OxygenJSON and JSON Schema in Oxygen
JSON and JSON Schema in OxygenOctavian Nadolu
 
HTML5 Editing Validation
HTML5 Editing ValidationHTML5 Editing Validation
HTML5 Editing ValidationOctavian Nadolu
 
Documentation Quality Assurance with ISO Schematron
Documentation Quality Assurance with ISO SchematronDocumentation Quality Assurance with ISO Schematron
Documentation Quality Assurance with ISO SchematronOctavian Nadolu
 
Introduction to Schematron
Introduction to SchematronIntroduction to Schematron
Introduction to SchematronOctavian Nadolu
 
JSON Edit, Validate, Query, Transform, and Convert
JSON Edit, Validate, Query, Transform, and ConvertJSON Edit, Validate, Query, Transform, and Convert
JSON Edit, Validate, Query, Transform, and ConvertOctavian Nadolu
 
The Power Of Schematron Quick Fixes - XML Prague 2019
The Power Of Schematron Quick Fixes - XML Prague 2019The Power Of Schematron Quick Fixes - XML Prague 2019
The Power Of Schematron Quick Fixes - XML Prague 2019Octavian Nadolu
 
Collaboration Tools to Help Improve Documentation Process
Collaboration Tools to Help Improve Documentation ProcessCollaboration Tools to Help Improve Documentation Process
Collaboration Tools to Help Improve Documentation ProcessOctavian Nadolu
 
Exploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - DevelopmentExploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - DevelopmentOctavian Nadolu
 
Comparing and Merging XML Documents in Visual Mode
Comparing and Merging XML Documents in Visual ModeComparing and Merging XML Documents in Visual Mode
Comparing and Merging XML Documents in Visual ModeOctavian Nadolu
 
Schematron 2016 and SQF Update
Schematron 2016 and SQF Update Schematron 2016 and SQF Update
Schematron 2016 and SQF Update Octavian Nadolu
 
XSLT 3.0 Improvements - XML Prague 2018
XSLT 3.0 Improvements - XML Prague 2018XSLT 3.0 Improvements - XML Prague 2018
XSLT 3.0 Improvements - XML Prague 2018Octavian Nadolu
 
Enforcing Style Guide Rules for Technical Documents
Enforcing Style Guide Rules for Technical DocumentsEnforcing Style Guide Rules for Technical Documents
Enforcing Style Guide Rules for Technical DocumentsOctavian Nadolu
 
Schematron business rules checks and corrections - updates
Schematron business rules checks and corrections - updatesSchematron business rules checks and corrections - updates
Schematron business rules checks and corrections - updatesOctavian Nadolu
 
How to integrate oXygen XML diff and merge tools
How to integrate oXygen XML diff and merge toolsHow to integrate oXygen XML diff and merge tools
How to integrate oXygen XML diff and merge toolsOctavian Nadolu
 
Top Reasons for Choosing oXygen XML Editor
Top Reasons for Choosing oXygen XML EditorTop Reasons for Choosing oXygen XML Editor
Top Reasons for Choosing oXygen XML EditorOctavian Nadolu
 
Enforcing Business Rules - Automatic Fixes
Enforcing Business Rules - Automatic FixesEnforcing Business Rules - Automatic Fixes
Enforcing Business Rules - Automatic FixesOctavian Nadolu
 

More from Octavian Nadolu (20)

JSON Schema Design
JSON Schema DesignJSON Schema Design
JSON Schema Design
 
Schematron For Non-XML Languages
Schematron For Non-XML LanguagesSchematron For Non-XML Languages
Schematron For Non-XML Languages
 
JSON and JSON Schema in Oxygen
JSON and JSON Schema in OxygenJSON and JSON Schema in Oxygen
JSON and JSON Schema in Oxygen
 
HTML5 Editing Validation
HTML5 Editing ValidationHTML5 Editing Validation
HTML5 Editing Validation
 
Documentation Quality Assurance with ISO Schematron
Documentation Quality Assurance with ISO SchematronDocumentation Quality Assurance with ISO Schematron
Documentation Quality Assurance with ISO Schematron
 
Introduction to Schematron
Introduction to SchematronIntroduction to Schematron
Introduction to Schematron
 
Hands on JSON
Hands on JSONHands on JSON
Hands on JSON
 
JSON Edit, Validate, Query, Transform, and Convert
JSON Edit, Validate, Query, Transform, and ConvertJSON Edit, Validate, Query, Transform, and Convert
JSON Edit, Validate, Query, Transform, and Convert
 
The Power Of Schematron Quick Fixes - XML Prague 2019
The Power Of Schematron Quick Fixes - XML Prague 2019The Power Of Schematron Quick Fixes - XML Prague 2019
The Power Of Schematron Quick Fixes - XML Prague 2019
 
Collaboration Tools to Help Improve Documentation Process
Collaboration Tools to Help Improve Documentation ProcessCollaboration Tools to Help Improve Documentation Process
Collaboration Tools to Help Improve Documentation Process
 
Schematron step-by-step
Schematron step-by-stepSchematron step-by-step
Schematron step-by-step
 
Exploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - DevelopmentExploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - Development
 
Comparing and Merging XML Documents in Visual Mode
Comparing and Merging XML Documents in Visual ModeComparing and Merging XML Documents in Visual Mode
Comparing and Merging XML Documents in Visual Mode
 
Schematron 2016 and SQF Update
Schematron 2016 and SQF Update Schematron 2016 and SQF Update
Schematron 2016 and SQF Update
 
XSLT 3.0 Improvements - XML Prague 2018
XSLT 3.0 Improvements - XML Prague 2018XSLT 3.0 Improvements - XML Prague 2018
XSLT 3.0 Improvements - XML Prague 2018
 
Enforcing Style Guide Rules for Technical Documents
Enforcing Style Guide Rules for Technical DocumentsEnforcing Style Guide Rules for Technical Documents
Enforcing Style Guide Rules for Technical Documents
 
Schematron business rules checks and corrections - updates
Schematron business rules checks and corrections - updatesSchematron business rules checks and corrections - updates
Schematron business rules checks and corrections - updates
 
How to integrate oXygen XML diff and merge tools
How to integrate oXygen XML diff and merge toolsHow to integrate oXygen XML diff and merge tools
How to integrate oXygen XML diff and merge tools
 
Top Reasons for Choosing oXygen XML Editor
Top Reasons for Choosing oXygen XML EditorTop Reasons for Choosing oXygen XML Editor
Top Reasons for Choosing oXygen XML Editor
 
Enforcing Business Rules - Automatic Fixes
Enforcing Business Rules - Automatic FixesEnforcing Business Rules - Automatic Fixes
Enforcing Business Rules - Automatic Fixes
 

OpenAPI Editing, Testing, and Documenting

  • 1. OpenAPI Editing, Testing, and Documenting © 2022 Syncro Soft SRL. All rights reserved. Octavian Nadolu, Syncro Soft octavian.nadolu@oxygenxml.com @OctavianNadolu
  • 2. OpenAPI Edit, Test, Document Agenda  OpenAPI Specification  Editing OpenAPI documents  OpenAPI Tester Tool  OpenAPI Documentation
  • 3. OpenAPI Edit, Test, Document OpenAPI Specification(OAS)  Is a format for describing and documenting APIs  Allows both humans and computers to discover and understand the capabilities of a service www.openapis.org
  • 4. OpenAPI Edit, Test, Document OpenAPI Documents  Can be written in JSON or YAML  Describes the inputs and outputs of an API  Include information such as: – where the API is hosted – what authorization is required to access it – details for consumers and producers
  • 5. OpenAPI Edit, Test, Document OpenAPI Example JSON YAML "openapi": "3.1.0", "info": { "title": "Dog API", "version": "1.0.0" }, "servers": [ {"url": "https://dog.ceo/api"} ], "paths": {} openapi: 3.1.0 info: title: Dog API version: 1.0.0 servers: - url: https://dog.ceo/api paths:
  • 6. OpenAPI Edit, Test, Document OpenAPI Example JSON YAML "paths": { "/breed/{breedName}/images": { "get": { "description": "Get images", "parameters": [], "responses": { "200": { "description": "A list of images", "content": {} } } } } } paths: /breed/{breedName}/images: get: description: Get images parameters: responses: "200": description: A list of dog content:
  • 7. OpenAPI Edit, Test, Document OpenAPI Versions ● OpenAPI 3.1 ● OpenAPI 3.0 ● OpenAPI/Swagger 2.0
  • 8. OpenAPI Edit, Test, Document OpenAPI 2.0 vs OpenAPI 3.0
  • 9. OpenAPI Edit, Test, Document OpenAPI 3.0 vs OpenAPI 3.1
  • 10. OpenAPI Edit, Test, Document Question: Do you use OpenAPI, what versions?  No  Yes. OpenAPI 3.1  Yes. OpenAPI 3.0  Yes. OpenAPI/Swagger 2.0 or other
  • 11. OpenAPI Edit, Test, Document Create OpenAPI ● Design/Create API using an editor ● Generate API from code
  • 12. OpenAPI Edit, Test, Document OpenAPI Tools ● Generate Documentation ● Generate Server ● Generate Client
  • 13. OpenAPI Edit, Test, Document OpenAPI Editor  Syntax highlights  Validation conforms with the schema  Content completion based on the schema  Outline view  Search and replace
  • 14. OpenAPI Edit, Test, Document Validation  Validation based on the JSON Schema  Create validation scenarios for each version  Errors highlighted in editor
  • 15. OpenAPI Edit, Test, Document Content completion  Properties and values presented in the content completion window  Annotations for properties
  • 16. OpenAPI Edit, Test, Document Outline view  Visualize the structure of the document  Search for properties  Synchronized with editor
  • 17. OpenAPI Edit, Test, Document JSON Schema in OpenAPI  You can use JSON Schema to describe data objects for both requests and responses
  • 18. OpenAPI Edit, Test, Document JSON Schema Support in Oxygen  JSON Schema Editor - specialized editor with various editing features  Validation against JSON Schema  Editing based on JSON Schema  Tools – Generate JSON Schema Documentation – Generate Sample JSON Files from a JSON Schema – Generate JSON Schema from a JSON File – XSD to JSON Schema Converter
  • 19. OpenAPI Edit, Test, Document Question: How do you create/intend to create OpenAPI?  Edit/Design API  Generate API from code
  • 20. OpenAPI Edit, Test, Document OpenAPI Visual Editor  Edit documentation  Form controls to change values  Collapsible sections  Customize interface with CSS
  • 21. OpenAPI Edit, Test, Document OpenAPI Documentation  Tool for generating detailed documentation for a OpenAPI documents in HTML format
  • 22. OpenAPI Edit, Test, Document OpenAPI Documentation  Generate documentation in one file or split into multiple files  Option to include components details  Display the diagram image for each component
  • 23. OpenAPI Edit, Test, Document OpenAPI Tester Tool  GUI interface testing tool for OpenAPI files  Execute API requests and validate responses on the fly  OpenAPI files in JSON or YAML format
  • 24. OpenAPI Edit, Test, Document Other APIs  AsyncAPI - defines the interfaces of asynchronous APIs  JSON-LD - is a lightweight Linked Data format
  • 25. OpenAPI Edit, Test, Document Conclusion  Edit/Design OpenAPI documents  Edit/Design JSON Schema documents  Edit documentation  Generate Documentation for OpenAPI  Test your OpenAPI
  • 26. OpenAPI Edit, Test, Document Future Plans  Improve Editing and Validation for OpenAPI 3.1, 3.0, 2.0  Better Authoring support for OpenAPI  Integrate OpenAPI documentation with DITA  Test Scenario for OpenAPI  JSON Schema 2020-12
  • 27. OpenAPI Edit, Test, Document Question: What features are the most important for you?  Improve Editing and Validation for OpenAPI 3.1, 3.0, 2.0  OpenAPI Documentation  Test Scenario for OpenAPI  JSON Schema 2020-12
  • 28. OpenAPI Edit, Test, Document Resources  oxygenxml.com/xml_editor/openapi.html  oxygenxml.com/doc/ug-editor/topics/openapi-tester.html  oxygenxml.com/doc/ug-editor/topics/openapi-documentation-generator.html  https://www.openapis.org  https://json-schema.org/  https://www.asyncapi.com  w3.org/TR/json-ld11/
  • 29. OpenAPI Edit, Test, Document Video Demos  oxygenxml.com/demo/json_schema_palette.html  oxygenxml.com/demo/introducing_the_json_schema_design.html  oxygenxml.com/demo/json_author.html  oxygenxml.com/demo/json_tools.html  oxygenxml.com/demo/json_validation.html  oxygenxml.com/demo/json_editing.html  oxygenxml.com/demo/json_query.html
  • 30. Questions? Octavian Nadolu Product Manager at Syncro Soft octavian.nadolu@oxygenxml.com Twitter: @OctavianNadolu LinkedIn: octaviannadolu