Skip to content

Error using apispec >= 5 #38

@mahenzon

Description

@mahenzon

Freeze apispec <5 or update to make compatible
In latest marshmallow new fields are declared, and apispec uses them

Traceback:

Traceback (most recent call last):
  File "/projects/flask-jsonapi-aug/app.py", line 29, in <module>
    api.route(PersonList, "person_list", "/persons", tag="Person")
  File "/projects/flask-jsonapi-aug/venv/lib/python3.9/site-packages/flask_combo_jsonapi/api.py", line 111, in route
    i_plugin.after_route(resource=resource, view=view, urls=urls, self_json_api=self, **kwargs)
  File "/projects/flask-jsonapi-aug/venv/lib/python3.9/site-packages/combojsonapi/spec/plugin.py", line 113, in after_route
    self._add_definitions_in_spec(resource.schema)
  File "/projects/flask-jsonapi-aug/venv/lib/python3.9/site-packages/combojsonapi/spec/plugin.py", line 459, in _add_definitions_in_spec
    self.spec.components.schema(name_schema, schema=schema)
  File "/projects/flask-jsonapi-aug/venv/lib/python3.9/site-packages/apispec/core.py", line 132, in schema
    ret.update(plugin.schema_helper(component_id, ret, **kwargs) or {})
  File "/projects/flask-jsonapi-aug/venv/lib/python3.9/site-packages/apispec/ext/marshmallow/__init__.py", line 166, in schema_helper
    json_schema = self.converter.schema2jsonschema(schema_instance)
  File "/projects/flask-jsonapi-aug/venv/lib/python3.9/site-packages/apispec/ext/marshmallow/openapi.py", line 182, in schema2jsonschema
    jsonschema = self.fields2jsonschema(fields, partial=partial, ordered=ordered)
  File "/projects/flask-jsonapi-aug/venv/lib/python3.9/site-packages/apispec/ext/marshmallow/openapi.py", line 208, in fields2jsonschema
    prop = self.field2property(field_obj)
  File "/projects/flask-jsonapi-aug/venv/lib/python3.9/site-packages/apispec/ext/marshmallow/field_converter.py", line 172, in field2property
    ret.update(attr_func(field, ret=ret))
  File "/projects/flask-jsonapi-aug/venv/lib/python3.9/site-packages/apispec/ext/marshmallow/field_converter.py", line 219, in field2default
    default = field.load_default
AttributeError: 'String' object has no attribute 'load_default'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions