def handler(self, param: Optional[any]=None, http_request: Type[HttpRequest]=None) -> HttpResponse:
    'Metodo para chamar o caso de uso'
    response = None
    if (not param):
        raise HttpBadRequestError(message='Essa requisiçao exige o seguinte parametro: <int:user_id>, error!')
    if (not str(param).isnumeric()):
        raise HttpUnprocessableEntity(message='O parametro <user_id> deve ser do tipo inteiro, error!')
    try:
        response = None
        if (not http_request.body):
            raise DefaultError(type_error=400)
        name = http_request.body.get('name', None)
        email = http_request.body.get('email', None)
        username = http_request.body.get('username', None)
        password = http_request.body.get('password', None)
        response = self.__usecase.update(user_id=param, name=name, email=email, username=username, password=password)
        return self.__format_response(response['data'])
    except DefaultError as error:
        if (error.type_error == 400):
            raise HttpBadRequestError(message='Esta requisicao precisa dos seguintes parametros:        <str:name>, <str:email>, <str:username>, <any:password>, error!') from error
        if (error.type_error == 404):
            raise HttpNotFound(message='Usuario nao encontrado, error!') from error
        raise error
    except Exception as error:
        raise error
Metodo para chamar o caso de uso
def handler(self, param: Optional[any]=None, http_request: Type[HttpRequest]=None) -> HttpResponse:
    
    response = None
    if (not param):
        raise HttpBadRequestError(message='Essa requisiçao exige o seguinte parametro: <int:user_id>, error!')
    if (not str(param).isnumeric()):
        raise HttpUnprocessableEntity(message='O parametro <user_id> deve ser do tipo inteiro, error!')
    try:
        response = None
        if (not http_request.body):
            raise DefaultError(type_error=400)
        name = http_request.body.get('name', None)
        email = http_request.body.get('email', None)
        username = http_request.body.get('username', None)
        password = http_request.body.get('password', None)
        response = self.__usecase.update(user_id=param, name=name, email=email, username=username, password=password)
        return self.__format_response(response['data'])
    except DefaultError as error:
        if (error.type_error == 400):
            raise HttpBadRequestError(message='Esta requisicao precisa dos seguintes parametros:        <str:name>, <str:email>, <str:username>, <any:password>, error!') from error
        if (error.type_error == 404):
            raise HttpNotFound(message='Usuario nao encontrado, error!') from error
        raise error
    except Exception as error:
        raise error