我正在为Python App Engine应用程序实现webapp2.RequestHandler
。我需要执行的常见操作是验证是否存在所有必需的HTTP请求参数。
为了做到这一点,我一遍又一遍地重写相同的样板:
def put(self):
handle = self.request.get('handle')
phone_number = self.request.get('phone_number')
# Check that all required parameters are present.
missing_parameter = None
if not handle:
missing_parameter = 'handle'
if not phone_number:
missing_parameter = 'phone_number'
if missing_parameter:
error_message = 'Missing parameter: \'%s\'.' % (missing_parameter)
logging.warning(error_message)
self.error(400)
self.response.out.write(error_message)
return
有更好的方法吗?我认为有一些方法可以滥用Python的动态功能来减少这个锅炉板。类似的东西:
checkArgs(self, ['handle', 'phone_number'])
答案 0 :(得分:0)
文档:http://webapp-improved.appspot.com/guide/request.html#post-data
self.request.POST返回一个多名。因此很容易检查参数
for each in ['handle', 'phone_number']:
if each not in self.request.POST:
# your error code here