Comments (2)
From a very quick look, I have the feeling you're comparing a schema class/instance and a name. Should it be something more like this?
if resolve_schema_cls(value.nested).__name__ == schema_name:
or perhaps even
if resolve_schema_cls(value.nested) == resolve_schema_cls(schema):
from apispec.
@lafrech thank you for the quick feedback! but sadly that didn't solve the issue, the ApiSpec.refs
is empty and it raises:
ref_schema = self.spec.components.get_ref("schema", self.refs[schema_key])
KeyError: (<class 'api.insights.serializers.base.FilterSchema'>, None, frozenset(), frozenset(), frozenset(), False)
These are some debug outputs:
(Pdb) self.refs
{}
(Pdb) schema_key
(<class 'api.insights.serializers.base.FilterSchema'>, None, frozenset(), frozenset(), frozenset(), False)
(Pdb) self.spec.components.to_dict()
{
"schemas": {
"FilterSchema": {
"type": "object",
"properties": {
"next_filter": {
"nullable": True,
"allOf": [{"$ref": "#/components/schemas/FilterSchema"}],
},
"filter_type": {
"type": "string",
"enum": [
"Filter",
"IsFinishedFilter",
],
},
"params": {
"type": "array",
"nullable": True,
"items": {"nullable": True},
},
"operator_class": {
"type": "string",
"enum": [
"QueryOp",
"AndOperator",
],
},
"legacy_filter": {"type": "object"},
"auction_id": {
"type": "array",
"nullable": True,
"items": {"type": "string"},
},
"filter_join": {
"type": "string",
"enum": [
"QueryOp",
"AndOperator"
],
},
},
"required": ["filter_type", "operator_class"],
}
}
}
(Pdb) self.spec.components.get_ref("schema", "FilterSchema")
{'$ref': '#/components/schemas/FilterSchema'}
from apispec.
Related Issues (20)
- exported marshmallow Enum fields should be arrays, not CSV strings HOT 1
- Marshmallow OpenApiConverter does not support str openapi_version HOT 4
- Incorrect handling of nullable enums in marshmallow converter HOT 2
- Marshmallow plugin doesn't document the format of fields.DateTime() correctly HOT 3
- marshmallow plugin does not support `marshmallow.fields.Tuple` HOT 1
- What is the correct way to use add_attribute_function in the Marshmallow plugin? HOT 2
- additionalProperties=false is not set when using default Marshmallow schema options HOT 2
- callbacks in operation are not resolved to refs HOT 5
- wrong default value for 'name' in schema2parameters HOT 3
- parameters not being resolved for OAS3 'content' type parameters HOT 2
- Incorrect handling of marshmallow nested schema with allow_none=True in OpenAPI 3.1 HOT 4
- Incorrect handling of Union types HOT 2
- Deprecated flag is not configured correctly on query parameter objects
- sdist is missing `tox.ini` HOT 1
- Interest in taking Schema description from Schema.__doc__ docstring
- Incorrectly serialized format when using a range validator on a Decimal Marshmallow field HOT 10
- Document form data and images
- Enum by_value creates OpenAPI property without type HOT 11
- Deprecate __version__ attribute
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from apispec.