Skip to content

Commit 8cbbbeb

Browse files
committed
Fix conversion of Marshmallow field to OAS parameter to specify the deprecated flag on the parameter, not its schema.
1 parent 95d73b4 commit 8cbbbeb

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

AUTHORS.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,3 +77,4 @@ Contributors (chronological)
7777
- Edwin Erdmanis `@vorticity <https://github.com/vorticity>`_
7878
- Mounier Florian `@paradoxxxzero <https://github.com/paradoxxxzero>`_
7979
- Renato Damas `@codectl <https://github.com/codectl>`_
80+
- Tayler Sokalski `@tsokalski <https://github.com/tsokalski>`_

src/apispec/ext/marshmallow/openapi.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,8 @@ def _field2parameter(
197197
else:
198198
if "description" in prop:
199199
ret["description"] = prop.pop("description")
200+
if "deprecated" in prop:
201+
ret["deprecated"] = prop.pop("deprecated")
200202
ret["schema"] = prop
201203

202204
for param_attr_func in self.parameter_attribute_functions:

tests/test_ext_marshmallow_openapi.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,11 @@ def test_field_required(self, openapi):
245245
res = openapi._field2parameter(field, name="field", location="query")
246246
assert res["required"] is True
247247

248+
def test_field_deprecated(self, openapi):
249+
field = fields.Str(metadata={"deprecated": True})
250+
res = openapi._field2parameter(field, name="field", location="query")
251+
assert res["deprecated"] is True
252+
248253
def test_schema_partial(self, openapi):
249254
class UserSchema(Schema):
250255
field = fields.Str(required=True)

0 commit comments

Comments
 (0)