我正在使用 swagger-inflector 来设计 API。我正在尝试使用文档中指定的 x-swagger-router-controller 和 x-swagger-router-model ,但它没有按指定工作。
我阅读文档的方式是,如果该类不存在,这些供应商扩展应该创建该类,然后创建一个以“operationId”命名的方法。但是,它们不能按规定工作。(我查看了我认为应该处理这个供应商扩展的代码,看起来应该处理扩展,但是没有按预期创建类。好吧,x-swagger-router-model 生成了所需的类名称,但不是所需的包)。
如果我使用 inflector.yaml 文件并指定 modelPackage 和 controllerPackage,类会在这些包中创建,但我需要更精细地控制用于生成的类的包。我做错了什么,还是坏了?
这是一个例子:
definitions:
SomeObject:
type: object
x-swagger-router-model: com.example.api.dto.SomeObjectDTO
...
paths:
/mypath:
x-swagger-router-controller: com.example.api.controller.subpkg1.MyController
get:
...
从上面的例子
我没有在 com/example/api/dto 中创建名为 SomeObjectDTO 的模型类。如果在 inflector.yaml 中没有指定 modelPackage,我会在默认包 (io/swagger/...) 中创建一个名为 SomeObject 的模型类。在任何一种情况下生成的模型类名称都是 SomeObject.java
我没有在 com/example/api/controller/subpkg1 中创建名为 MyController 的控制器类。如果在 inflector.yaml 中没有指定 controllerPackage,我会在默认包 (io/swagger/...) 中创建一个名为“MyPathController”的控制器类。在这两种情况下生成的控制器类都是 MyPathController.java。
看起来这是一个错误,或者我错过了一些非常明显的东西。这里有任何指示吗?