-
-
Notifications
You must be signed in to change notification settings - Fork 6.9k
[REQ] List of generators that will first support openapi 3.1.0 features #13073
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
Comments
Update: openapi v3.1.0 document ingestion is supported in the new repo and includes these new/updated keywords:
And > 66% of the 3.1.0 new json schema keywords have been implemented in the above repo |
python-flask |
java |
typescript-fetch |
typescript-axios |
typescript-angular |
kotlin-spring |
Rust |
go |
Rust |
Ruby |
kotlin, typescript-angular, swift5 |
Rust (Specifically rust server. I don't know how much code it shares with rust client) I am willing to put some work into it but don't really know where to get started. |
typescript-swr |
kotlin |
kotlin+s |
dart-dio |
csharp-netcore |
adoc |
kotlin-server |
It’s simply goofy that the JavaScript and typescript platforms wouldn’t be a priority given that web clients are all in JavaScript. |
Kinda OFF-TOPIC, sorry: For anyone like me who urgently needs a TS-Fetch or TS-Axios generator that's able to handle 3.1 schemas: I recently worked through the handful of available projects that fit the requirements and went with drwpow/openapi-typescript, which generates a TS-based fetch clients (one for each HTTP verb). I am not a huge fan of the resulting API (it doesn't throw errors but gives you // custom, monkeypatched "fetch" for implementing request/response interceptors
const customFetch = async (input: RequestInfo | URL, init?: RequestInit | undefined) => {
// --- request interceptors go here... ---
// ...
// --- perform request ---
const response = await globalThis.fetch(input, init);
// --- response interceptors go here... ---
//...
return response;
}; |
openapi 3.1.0 support for java has been added in my separate project here: |
Is your feature request related to a problem? Please describe.
This ticket is a record of which generator will first support opeanpi 3.1.0 specs and feature
The issue tracking 3.1.0 spec support is here: #9083
Note:
One could track the supported features by adding features to our supported feature matrix like we see here:
https://github.com/OpenAPITools/openapi-generator/blob/master/docs/generators/python.md#schema-support-feature
It may also be useful to run unit tests specs on generated servers/clients like python does in these 3.0.3 json schema tests.
Which run on node4 here
For generators to be able to implement 3.1.0 unevaluatedProperties they need to have properties, patternProperties + additionalProperties working. Not all generators have additionalProperties working for all schema use cases.
There is a java property
supportsAdditionalPropertiesWithComposedSchema
which indicates broader support for the addditionalProperties keyword on composition use cases (which are usually type unset=AnyType schemas)The generators which have this set to true are:
Generators
- it is very compliant with json schema 3.0.3 per 3.0.3 unit tests
- it already supports schema type arrays under the hood because it converts type: nullable X to type X + type null
- it is structured in a way that new validations like prefixItems/contains etc can be easily added
Please vote on Generators that you want
Please vote on generators that you want added by adding +s to the generator name in a comment.
If you want a feature, how about you write a PR adding it?
This is an open source project, so if you want a generator to support the new features please consider writing a PR adding the feature that you want. We are all volunteers here and we can all improve and contribute to this project.
The text was updated successfully, but these errors were encountered: