openapi-python-client
openapi-python-client copied to clipboard
Unable to parse schema Errors
Describe the bug I'm attempting to convert a rather large open api schema to Pyhton bindings and am running across warnings that are dropping endpoints on the floor. I believe there is a couple of issues.
- Refs not supported: Do you know if there are plans to add support for references in request body? I'll look at ways to flatten this schema out without references and try this again
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MetadataFieldGroupType"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/MetadataFieldGroupType"
}
}
},
"required": true,
"description": ""
}
WARNING` parsing PUT /collection within collection. Endpoint will not be generated.
Could not find reference in parsed models or enums
Reference(ref='#/components/schemas/ItemSearchType')
WARNING parsing POST /collection within collection. Endpoint will not be generated.
Could not find reference in parsed models or enums
Reference(ref='#/components/schemas/CollectionType')
- Parth parameters not match with path. I believe this may be due to the open "in path" vs "in query" issue.
WARNING parsing GET /collection/{collection-id}/item within collection. Endpoint will not be generated.
Incorrect path templating for /collection/{collection-id}/item (Path parameters do not match with path)
{
"required": true,
"schema": {
"type": "string"
},
"in": "path",
"name": "collection-id",
"description": "The collection id."
}
- Generic cannot parse parameter of endpoint getAccessGraphDot
cannot parse parameter of endpoint getAccessGraphDot
Schema(title=None, multipleOf=None, maximum=None, exclusiveMaximum=None, minimum=None, exclusiveMinimum=None, maxLength=None, minLength=None, pattern=None, maxItems=None, minItems=None, uniqueItems=None, maxProperties=None, minProperties=None, required=None, enum=['ancestor', 'grant'], type=<DataType.STRING: 'string'>, allOf=[], oneOf=[], anyOf=[], schema_not=None, items=None, properties=None, additionalProperties=None, description=None, schema_format=None, default=None, nullable=False, discriminator=None, readOnly=None, writeOnly=None, xml=None, externalDocs=None, example=None, deprecated=None)
To Reproduce Steps to reproduce the behavior:
- Run
openapi-python-client generate --path openapi/spec.json
- Run
openapi-python-client generate --path openapi/spec.yaml
Expected behavior A full python client should be generated without warnings.
OpenAPI Spec File Standby. Making sure I have approval to share this schema since its coming from a 3rd party vendor.
Desktop (please complete the following information):
- OS: macOS 12.4
- Python Version: 3.8.9
- openapi-python-client version: 0.11.4
Refs not supported: Do you know if there are plans to add support for references in request body? I'll look at ways to flatten this schema out without references and try this again
I think all references of the form #/components/schemas/
should already be supported. There are other types of references that aren't, but schemas should be. That error could be due to missing references or references that, themselves could not be generated for some reason. The most common reason is that circular and recursive references are not supported.
I do confirm that, refs are supported. Ex: from https://codebeamer.com/cb/api-docs/v3.json
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExportProject"
}
}
}
},
The above is fully supported and generated python code is working.