一直尝试使用 Swagger 为我的 PHP Rest API 生成文档,使用 swagger-php。
它工作得非常好,不太确定我是否喜欢由于文档而拥有巨大的评论块,但这不是问题。
我有两条路:
/user/ [POST]
/user/login [POST]
它们都在我的 PHP 代码中调用相同的方法:login()。
有没有办法让我说 /user/ [POST] 只是 /user/login [POST] 的别名?
我希望他们都出现在操作列表中,并附上他们的文档,并说他们做同样的事情,只是用不同的路径向用户提供选项。
我当然可以复制粘贴注释块,但我真的不希望只调用另一种方法的单行方法有 50 行注释块。
有任何想法吗 ?
在 swagger-php 中使用引用已经可以通过使用@SWG\Path
.
/**
* @SWG\Post(
* path="/user/login",
* @SWG\Response(response=200, description="OK")
* )
* @SWG\Path(path="/user/", ref="#/paths/user~1login");
*/
function login() {
...
}
但请记住,招摇是为了document你的 API,如果 /user/login 是用于登录的规范 API 端点,我什至不会在 swagger 文档中公开别名。
@Mark 在 swagger-php 中path仍然拥有运营,但它使用一些技巧 https://github.com/zircote/swagger-php/blob/master/src/Processors/BuildPaths.php来创建@SWG\Path
自动地,这避免了样板文件,因为一般用例是为每个 php 方法记录一个 http 方法,但是如果您的方法处理多个 http 方法,那么使用起来可能会更短@SWG\Path
直接地:
/**
* @SWG\Path(
* path="/example",
* @SWG\Get(response=200, description="OK"),
* @SWG\Post(response=200, description="OK"),
* @SWG\Put(response=200, description="OK")
* )
*/
function thisMethodHandlesGetPostAndPutRequests() {
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)