def generate_swagger(self):
swagger = {'summary': self.summary, 'description': self.description}
if self.parameters:
swagger['parameters'] = self.parameters
if self.responses:
swagger['responses'] = self.responses
else: # swagger requires at least one response
swagger['responses'] = {'default': {'description': ''}}
# Figure out where to put the response schema and response
# header details. This is probably going to change in the
# future since it is `hinky' at best.
default_code = 'default'
status_codes = sorted(int(code)
for code in swagger['responses']
if code.isdigit())
for code in status_codes:
if 200 <= code < 400:
default_code = str(code)
break
if default_code in swagger['responses']:
if self.default_response_schema:
swagger['responses'][default_code]['schema'] = \
self.default_response_schema
if self.response_headers:
swagger['responses'][default_code]['headers'] = \
self.response_headers
return swagger
评论列表
文章目录