From f02807a09c12b6467695946c2550749f3afe8ef0 Mon Sep 17 00:00:00 2001 From: Johannes Mey <johannes.mey@tu-dresden.de> Date: Tue, 30 Nov 2021 09:27:18 +0100 Subject: [PATCH] add documentation --- doc.md | 168 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 168 insertions(+) create mode 100644 doc.md diff --git a/doc.md b/doc.md new file mode 100644 index 00000000..1f17cfb9 --- /dev/null +++ b/doc.md @@ -0,0 +1,168 @@ +# JastAdd in OpenAPI Parser + +This is a documentation of differences between the document of [OpenAPI Specification in version 3.0.2](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md) and [OpenAPI parser for Java projects](https://github.com/openapi4j/openapi4j). + +## Differences + +Object Name | Description +---|:---: +[OpenAPI Object](#openAPI)|variable "path" is defined differently ( in spec. as one object and in parser as map ) +[Paths Object](#paths)|see OpenAPI Object +[Path Item Object](#pathItem)|variables in type "Operation Object" are defined the part of a map in openapi parser +[Operation Object](#operation)|Responses Object is defined as a map in openapi parser +[Parameter Object](#parameter)|allowEmptyValue does not exist in openapi parser +[Encoding Object](#encoding)|variable "allowReserved" does not exist in openapi parser +[Responses Object](#responses)|see Operation Object +[Callback Object](#callback)|openapi parser has expressions as a map +[Link Object](#link)|openapi parser has variable "headers" instead of variable "requestBody" +[Reference Object](#reference)|no Reference Object in openapi parser +[OAuth Flow Object](#oAuthFlow)|openapi parser has new variable "configuration" + +## Contents + +### <a name="openAPI"></a>OpenAPI Object + +- variable "path" is defined differently ( in spec. as one object and in parser as map ) +- Links to compare + - [In OpenAPI Specification](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#oasObject) + - [In openapi parser](https://github.com/openapi4j/openapi4j/blob/master/openapi-parser/src/main/java/org/openapi4j/parser/model/v3/OpenApi3.java) + + +### Info Object + +- no differences + +### Contact Object + +- no differences + +### License Object + +- no differences + +### Server Object + +- no differences + +### Server Variable Object + +- no differences + +### Components Object + +- no differences + +### <a name="paths"></a>Paths Object + +- see OpenAPI Object + +### <a name="pathItem"></a>Path Item Object + +- variables in type "Operation Object" are defined the part of a map in openapi parser +- Links to compare + - [In OpenAPI Specification](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#pathItemObject) + - [In openapi parser](https://github.com/openapi4j/openapi4j/blob/master/openapi-parser/src/main/java/org/openapi4j/parser/model/v3/Path.java) + +### <a name="operation"></a>Operation Object + +- Responses Object is defined as a map in openapi parser +- Links to compare + - [In OpenAPI Specification](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#operationObject) + - [In openapi parser](https://github.com/openapi4j/openapi4j/blob/master/openapi-parser/src/main/java/org/openapi4j/parser/model/v3/Operation.java) + +### External Documentation Object + +- no differences + +### <a name="parameter"></a>Parameter Object + +- allowEmptyValue does not exist in openapi parser +- Links to compare + - [In OpenAPI Specification](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#parameterObject) + - [In openapi parser](https://github.com/openapi4j/openapi4j/blob/master/openapi-parser/src/main/java/org/openapi4j/parser/model/v3/Parameter.java) + +### Request Body Object + +- no differences + +### Media Type Object + +- no differences + +### <a name="encoding"></a>Encoding Object + +- variable "allowReserved" does not exist in openapi parser +- Links to compare + - [In OpenAPI Specification](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#encodingObject) + - [In openapi parser](https://github.com/openapi4j/openapi4j/blob/master/openapi-parser/src/main/java/org/openapi4j/parser/model/v3/EncodingProperty.java) + +### Responses Object + +- see Operation Object + +### Response Object + +- no differences + +### <a name="callback"></a>Callback Object + +- openapi parser has expressions as a map +- Links to compare + - [In OpenAPI Specification](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#callbackObject) + - [In openapi parser](https://github.com/openapi4j/openapi4j/blob/master/openapi-parser/src/main/java/org/openapi4j/parser/model/v3/Callback.java) + +### Example Object + +- no differences + +### <a name="link"></a>Link Object + +- openapi parser has variable "headers" instead of variable "requestBody" +- Links to compare + - [In OpenAPI Specification](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#linkObject) + - [In openapi parser](https://github.com/openapi4j/openapi4j/blob/master/openapi-parser/src/main/java/org/openapi4j/parser/model/v3/Link.java) + +### Header Object + +- no differences + +### Tag Object + +- no differences + +### Reference Object + +- no Reference Object in openapi parser +- most objects has variable "Ref" and method getRef() or isRef() + +### Schema Object + +- not relevant in current JastAPI + +### Discriminator Object + +- not relevant in current JastAPI + +### XML Object + +- not relevant in current JastAPI + +### Security Scheme Object + +- no differences + +### OAuth Flows Object + +- no differences + +### <a name="oAuthFlow"></a>OAuth Flow Object + +- openapi parser has new variable "configuration" +- Links to compare + - [In OpenAPI Specification](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#oauthFlowObject) + - [In openapi parser](https://github.com/openapi4j/openapi4j/blob/master/openapi-parser/src/main/java/org/openapi4j/parser/model/v3/OAuthFlow.java) + +### Security Requirement Object + +- no differences + -- GitLab