从未导入方法中的注释“@Swagger\Annotations\Response”

Posted

技术标签:

【中文标题】从未导入方法中的注释“@Swagger\\Annotations\\Response”【英文标题】:The annotation "@Swagger\Annotations\Response" in method was never imported从未导入方法中的注释“@Swagger\Annotations\Response” 【发布时间】:2021-06-26 08:47:01 【问题描述】:

我在 Symfony 5 应用程序上全新安装 Swagger 和 FosRestBundle 时遇到问题。 我有这个错误:

[Semantical Error] The annotation "@Swagger\Annotations\Response" in method ... was never imported. Did you maybe forget to add a "use" statement for this annotation? Make sure annotations are installed and enabled.

这是我的代码:

/**
 * @Route("/", name="api_ia", methods="GET")
 * @SWG\Response(
 *      response=200,
 *      description="Returns all informations based on image"
 *      @SWG\Schema(
 *          type="array"
 *      )
 * )
 * @SWG\Parameter(
 *      name="image"
 *      type="string"
 *      description="Photo of boiler label"
 * )
 * @SWG\Tag(name="IA")
 * @Security(name="Bearer")
 */

有人遇到过问题吗?我没有修改我的注释文件,我已将 Swagger\Annotations 导入为 SWG。

【问题讨论】:

你能分享更多细节吗?删除该注释是否也会删除该错误? 错误出现在每个 @SWG* 标签上。如果我全部删除,错误就会消失 那么请分享更多详细信息,例如该类中的use 语句 use Symfony\Component\Routing\Annotation\Route; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Swagger\Annotations as SWG; 【参考方案1】:

检查您的 Nelmio 版本。

最新版本是 4.*,但在 Symfony“当前”页面,我们可以阅读“Nelmio 3.x”的说明

在此处阅读说明:https://symfony.com/doc/4.x/bundles/NelmioApiDocBundle/index.html

【讨论】:

【参考方案2】:

感谢尼莫船长的回复,对于 nelmio/api-doc-bundle 的版本 4.*,它是 @OA 而不是 @SWG,带有 use OpenApi\Annotations as OA;

【讨论】:

以上是关于从未导入方法中的注释“@Swagger\Annotations\Response”的主要内容,如果未能解决你的问题,请参考以下文章

Symfony 验证器的注释返回“注释从未导入异常”

请求参数的自定义 Spring 注释 - 从未调用自定义解析器

Symfony 4.4 / NelmioApiDocBundle 4.0.1 注释问题

如何避免Eclipse在将类名放在注释中的时候导入类,让checkstyle以后不报错?

if-then-else 结构中的注释应该放在哪里? [关闭]

eclipse中加入import java.util.*;后出错 提示从未使用导入java.util是啥情况?