From 1b4aeed1192f53ffc4bce7539acc71d1bda6f33f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=B6=E9=85=B6=E8=8F=8C?= <31161642+hayatesa@users.noreply.github.com> Date: Mon, 4 Mar 2019 17:39:14 +0800 Subject: [PATCH] Fix a problem of operation expand. Several operation tabs would be expanded by one expand operation in doc page when a namespace includes duplicate http methods, since they have the same operationId. So, I join it a random string generated by "str(uuid1())[:6]". --- flask_restplus/swagger.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/flask_restplus/swagger.py b/flask_restplus/swagger.py index c4036d86..931cbed6 100644 --- a/flask_restplus/swagger.py +++ b/flask_restplus/swagger.py @@ -1,6 +1,8 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals, absolute_import +from uuid import uuid1 + import itertools import re @@ -352,7 +354,7 @@ def serialize_operation(self, doc, method): 'responses': self.responses_for(doc, method) or None, 'summary': doc[method]['docstring']['summary'], 'description': self.description_for(doc, method) or None, - 'operationId': self.operation_id_for(doc, method), + 'operationId': '%s-%s' % (self.operation_id_for(doc, method), str(uuid1())[:6]), 'parameters': self.parameters_for(doc[method]) or None, 'security': self.security_for(doc, method), }