我有一个API,允许传入任意路径,例如所有这些:
/api/tags
/api/tags/foo
/api/tags/foo/bar/baz
是有效路径。我试着将其描述如下:
/tags{tag_path}:
get:
parameters:
- name: tag_path
in: path
required: true
type: string
default: "/"
但是,https://generator.swagger.io会对路径中的斜杠进行编码,因此它不起作用。那么有没有办法在Swagger中描述我的API?
答案 0 :(得分:5)
所以这不会很快得到支持(它甚至没有计划用于Swagger 3.0),我不得不求助于解决方法。
如果我有一个 <!-- Modal -->
<section class="modal" id="myModal">
<!-- Modal content-->
<div class="modal-content" id="modal-content">
<img class="modal-home-logo" src="img/logo.png" alt="logo">
<p id="modal-contact-title">Are you intrested in cooperation?</p>
<p id="modal-contact-sub-title">Just hit me up via this simple email form !</p>
<form id="my_form" onsubmit="submitForm(); return false;">
<p><input id="n" placeholder="Your name - HERE" required></p>
<p><input id="e" placeholder="Your email - HERE" type="email" required> </p>
<textarea id="m" placeholder="Tell me about your project... what is it? What do you hope to accomplish ? How can i help ? Oh try to ESC if missclicked :)" rows="10" required></textarea>
<p><input id="mybtn" type="submit" value="Let's do this !"></p>
<p id="modal-contact-sub-title">Awsome thanks !</p>
</form>
</div>
</section>
<!-- End Modal -->
路径并输入/tags{tag_path}
:tag_path
这样的内容,那么实际的查询请求网址将是:/foo/bar
。所以,我刚刚在我的后端添加了对它的支持:/tags%2Ffoo%2Fbar
的端点处理程序对路径(/tags*
)进行了解码,并再次成为%2Ffoo%2Fbar
。
是的,一个黑客,但它有效,而且它比没有好。就我而言,标签名称不能包含/foo/bar
字符,所以没有冲突。当然,您的里程可能会有所不同。