嗨,我正在为类方法编写装饰器,但无法获取参数名称。是否可以获取类方法的参数名称?
我过去使用过inspect.getargspec()获取实例方法上的参数名称。但是由于类方法不可调用,因此无法正常工作。
这是我的示例代码
class api_request_handler:
def handle_connection_errors(func):
@wraps(func)
def check_for_errors(*args, **kwargs):
print ("Calling DEC")
data = func(*args, **kwargs)
if data.status_code != 200 and data.status_code != 204:
logHangler.write_command_logs('<random text>')
return data
return check_for_errors
@handle_connection_errors
@classmethod
def send_request_and_get_response(cls,method,url,data=None,headers=None):
try:
if method == 'GET':
cls.data = requests.get(url, headers=headers)
elif method == 'POST':
cls.data = requests.post(url,data=data,headers=headers)
<BLAH BLAH BLAH>
except requests.exceptions.ConnectionError:
print ('Connection Error for URL: '+url)
sys.exit(2)
except UnicodeError:
print('Connection Error for URL: ' + url)
sys.exit(2)
return cls.data