Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create dereference strategy for OpenAPI 3.1 compatible with SwaggerJS #2289

Closed
2 of 5 tasks
char0n opened this issue Nov 21, 2022 · 1 comment
Closed
2 of 5 tasks
Assignees
Labels

Comments

@char0n
Copy link
Member

char0n commented Nov 21, 2022

The goal of this issue is to provide dereference strategy for OpenAPI 3.1 spec complatible with SwaggerJS.

Currently identified compatibility aspects:

Architecture diagram of ApiDOM integration into swagger-client

stateDiagram-v2
    state "Swagger Client" as SwaggerClient
    state "HTTP Client" as SwaggerClientHTTPClient
    state "JSON Parser" as SwaggerClientJSONParser
    state "YALM 1.2 Parser" as SwaggerClientYALMParser
    state "Swagger Client Plugins" as SwaggerClientPlugins
    
    ApiDOM
    state "ApiDOM resolver plugin" as ApiDOMSwaggerClientResolverPlugin
    state "ApiDOM JSON parser plugin" as ApiDOMSwaggerClientJSONParserPlugin
    state "ApiDOM OpenAPI 3.1 JSON parser plugin" as ApiDOMSwaggerClientJSONOpenAPI31ParserPlugin
    state "ApiDOM YAML Parser plugin" as ApiDOMSwaggerClientYAMLParserlugin
    state "ApiDOM OpenAPI 3.1 YAML Parser plugin" as ApiDOMSwaggerClientYAMLOpenAPI31Parserlugin
    state "ApiDOM OpenAPI 3.1 normalization" as ApiDOMOpenAPI31Normalization
    state "ApiDOM OpenAPI 3.1 dereference strategy" as ApiDOMOpenAPI31DereferenceStrategy

    SwaggerClient --> SwaggerClientHTTPClient
    SwaggerClient --> SwaggerClientJSONParser
    SwaggerClient --> SwaggerClientYALMParser
    SwaggerClientPlugins --> SwaggerClient

    SwaggerClientHTTPClient --> ApiDOMSwaggerClientResolverPlugin
    SwaggerClientJSONParser --> ApiDOMSwaggerClientJSONParserPlugin
    SwaggerClientJSONParser --> ApiDOMSwaggerClientJSONOpenAPI31ParserPlugin
    SwaggerClientYALMParser --> ApiDOMSwaggerClientYAMLParserlugin
    SwaggerClientYALMParser --> ApiDOMSwaggerClientYAMLOpenAPI31Parserlugin

    
    ApiDOM --> SwaggerClient
    ApiDOMOpenAPI31Normalization --> ApiDOM
    ApiDOMSwaggerClientResolverPlugin --> ApiDOM
    ApiDOMSwaggerClientJSONParserPlugin --> ApiDOM
    ApiDOMSwaggerClientJSONOpenAPI31ParserPlugin --> ApiDOM
    ApiDOMSwaggerClientYAMLParserlugin --> ApiDOM
    ApiDOMSwaggerClientYAMLOpenAPI31Parserlugin --> ApiDOM
    ApiDOMOpenAPI31DereferenceStrategy --> ApiDOM
Loading

NOTE: New issues SHOULD be created for every compatibility aspect.

@char0n char0n self-assigned this Nov 21, 2022
@char0n char0n added enhancement New feature or request OpenAPI 3.1 ApiDOM labels Nov 21, 2022
char0n added a commit that referenced this issue Dec 2, 2022
…2326)

This is just an initial version with no additional supported options.

Refs #2289
char0n added a commit that referenced this issue Dec 12, 2022
This is specific to Swagger Client YAML parser
plugin.

Refs #2289
char0n added a commit that referenced this issue Dec 12, 2022
This is specific to Swagger Client YAML parser
plugin.

Refs #2289
@char0n
Copy link
Member Author

char0n commented Dec 31, 2022

Dereference strategy for OpenAPI 3.1.0 compatible with SwaggerClient have been created within ApiDOM codebase and has been successfully ported to SwaggerClient in swagger-api/swagger-js#2738

@char0n char0n closed this as completed Dec 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant