gpt4 book ai didi

swagger - 同一方法的两条路径

转载 作者:行者123 更新时间:2023-12-05 03:12:13 26 4
gpt4 key购买 nike

一直在尝试使用 Swagger 为我的 PHP Rest API 生成我的文档,使用 swagger-php。

它工作得非常好,不太确定我是否喜欢由于文档而拥有大量评论 block ,但这不是问题。

我有两条路:

/user/ [POST]
/user/login [POST]

它们都在我的 PHP 代码中调用相同的方法:login()。

有没有办法让我说/user/[POST] 只是/user/login [POST] 的别名?

我希望他们都出现在操作列表中,完成他们的文档并说他们做同样的事情,只是用不同的路径为用户提供选项。

我当然可以复制粘贴注释 block ,但我真的不希望一个 50 行的注释 block 用于仅调用另一个方法的单行方法。

有什么想法吗?

最佳答案

通过使用 @SWG\Path,在 swagger-php 中已经可以使用引用。

/**
* @SWG\Post(
* path="/user/login",
* @SWG\Response(response=200, description="OK")
* )
* @SWG\Path(path="/user/", ref="#/paths/user~1login");
*/
function login() {
...
}

但请记住,swagger 是为了记录您的 API,如果/user/login 是用于登录的规范 API 端点,我什至不会在 swagger 文档中公开别名。

@Mark 在 swagger-php 中,路径 仍然拥有操作,但它使用 some tricks自动创建 @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() {
}

关于swagger - 同一方法的两条路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34503533/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com