首页 > 解决方案 > Swagger Codegen :- 供应商扩展不可访问

问题描述

我正在使用示例Pet Store JSON 文件来生成基于 spring-boot 的项目。要在生成的代码中添加诸如 @EnableEurekaClient 之类的注释,我试图在 swagger 文件中使用供应商扩展。扩展名可以在下面看到为swagger 定义中的x-enableEureka

swagger: "2.0"
info:
  description: "This is a sample server Petstore server.  You can find out more about     Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/).      For this sample, you can use the api key `special-key` to test the authorization     filters."
  version: "1.0.0"
  title: "Swagger Petstore"
  termsOfService: "http://swagger.io/terms/"
  x-enableEureka: true

controller.mustache通过添加以下项目来修改。但是,我无法从以下任一语句访问其在生成的控制器类中的值。

{{vendorExtensions.x-enableEureka}} 
{{x-enableEureka}} 

我的意图是使用 x-enableEureka 作为条件。

{{^vendorExtensions.x-enableEureka}}
@EnableEurekaClient
{{/vendorExtensions.x-enableEureka}}

此处定义了访问供应商扩展的类似方式。我不确定为什么它不起作用。

有人能帮帮我吗。我不确定我是否将供应商扩展名放置在错误的位置。我什至也尝试将它放在 Path 块中。

Swagger Codegen 版本 2.4.15

标签: swaggermustacheswagger-2.0swagger-codegen

解决方案


您必须使用#符号而不是^。正确的用法是

{{#vendorExtensions.x-enableEureka}}
@EnableEurekaClient
{{/vendorExtensions.x-enableEureka}}

回复晚了非常抱歉。


推荐阅读