如何在 Swagger 中记录无法访问的控制器的其他模型?
2022-09-04 21:50:53
我有一个控制器,我必须通过让它接受一个as并返回一个字符串来保持通用,即,String
@RequestBody
String processRequest(@RequestBody String json) {...}
我无法控制该控制器的源代码,但我可以通过编程方式访问它。
将要传入和返回的实际对象在一系列请求消息中的其他位置定义:、、等。响应同样为:、 .RequestMessage1.java
RequestMessage2.java
Response1.java
Response2.java1
控制器还将这些请求的处理移交给一个,如下所示 (): 。Processor
Request1Processor.java
Response1 process(RequestMessage1 message)
我的问题是这样的。
有没有办法配置 swagger,使其公开 REST 控制器类的终结点,即 ,但显示所有这些处理器类及其输入和输出作为该控制器的文档?processRequest
作为文档的一部分,我看到了添加无法“访问”的模型的能力。我尝试了文档中的方法,如下所示:
@Autowired
private TypeResolver typeResolver;
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
.additionalModels(typeResolver.resolve(Date.class));
}
但是,附加的 Date 模型没有出现在 swagger-ui 中.html。
我在这里做错了什么?
另外,有没有办法以某种方式显示该类型将具有响应?RequestMessage1
Response1