Flask REST: TypeError: get() получил неожиданный аргумент ключевого слова

#python #rest #flask #openshift

#python #rest #flask #openshift

Вопрос:

Привет, у меня возникла проблема с конечной точкой Flask REST, у которой есть необязательный аргумент. У меня точно такой же код в других местах, и он работает, поэтому я здесь в недоумении.

Вот код для ресурса:

 @api.route(
    "/get_sick_calls/<string:start_date>/<string:end_date>/",
    "/get_sick_calls/<string:start_date>/<string:end_date>/<int:num_sick_calls>",
    defaults={'num_sick_calls': 3}
)
class GetSickCalls(Resource):

    ##method_decorators = [authenticate]

    @api.doc(
        responses={
            201: "OK",
            401: INVALID_DATE_MSG,
            402: "DATE_RANGE_INVALID",
        },
        params={
            "start_date": "ISO 8601 Date String: YYYY-mm-dd",
            "end_date": "ISO 8601 Date String: YYYY-mm-dd",
            "num_sick_calls": "Minium number of sick calls, default is 3",
        },
    )
    # @authenticate
    def get(self, start_date: str, end_date: str, num_sick_calls: int):
        # validate date inputs
 

Всякий раз, когда я обращаюсь к любому маршруту, я получаю 500 внутренних ошибок сервера: TypeError: get() got an unexpected keyword argument 'num_sick_calls'

Я попытался изменить num_sick_calls *args, **kwargs , но то же самое. Есть предложения?

Ответ №1:

Я прошу прощения, в этом коде не было ничего плохого, я не понимал, что существует другой метод get ниже того, который перезаписывает первый (не уверен, почему я применил этот PR …)