diff --git a/flask_restx/api.py b/flask_restx/api.py index 75ec0954..0e561f86 100644 --- a/flask_restx/api.py +++ b/flask_restx/api.py @@ -144,10 +144,10 @@ def __init__( self._default_error_handler = None self.tags = tags or [] - self.error_handlers = { + self.error_handlers = OrderedDict({ ParseError: mask_parse_error_handler, MaskError: mask_error_handler, - } + }) self._schema = None self.models = {} self._refresolver = None @@ -559,7 +559,7 @@ def __schema__(self): @property def _own_and_child_error_handlers(self): - rv = {} + rv = OrderedDict() rv.update(self.error_handlers) for ns in self.namespaces: for exception, handler in six.iteritems(ns.error_handlers): diff --git a/flask_restx/namespace.py b/flask_restx/namespace.py index 49beec27..48067776 100644 --- a/flask_restx/namespace.py +++ b/flask_restx/namespace.py @@ -4,7 +4,7 @@ import inspect import warnings import logging -from collections import namedtuple +from collections import namedtuple, OrderedDict import six from flask import request @@ -57,7 +57,7 @@ def __init__( self.urls = {} self.decorators = decorators if decorators else [] self.resources = [] # List[ResourceRoute] - self.error_handlers = {} + self.error_handlers = OrderedDict() self.default_error_handler = None self.authorizations = authorizations self.ordered = ordered