从未导入方法中的注释“@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”的主要内容,如果未能解决你的问题,请参考以下文章
请求参数的自定义 Spring 注释 - 从未调用自定义解析器
Symfony 4.4 / NelmioApiDocBundle 4.0.1 注释问题
如何避免Eclipse在将类名放在注释中的时候导入类,让checkstyle以后不报错?