【发布时间】:2026-01-22 17:35:02
【问题描述】:
我一直在从事一个项目,并尝试使用 Swagger-2.0 对其进行记录。在这个项目中,由于一些安全问题,控制器中每个具有对象作为返回类型的方法都应该将返回对象更改为完全扁平的对象。为了做到这一点,我们在每个方法上方使用了一些自定义注释,并且控制器本身将对象转换为返回类型。我的意思是,该方法返回的对象与传递给浏览器的对象不同。对于控制器中方法的输入参数,我们也有同样的事情。这意味着用户必须为方法发送一个与方法的输入参数不同的对象。下面有一个示例方法作为示例。
@RequestView(InputParamView.class)
@ResponseView(ReturnObjectView.class)
@RequestMapping(value = "/someMethod", method = RequestMethod.POST)
public ReturnObject someMethod(@RequestBody InputParam inputParam) {
//do some thing
}
问题是如何配置 Swagger 以识别InputParamView 和ReturnObjectView 作为该方法的输入参数和返回类型。我们通过在每个方法上方使用ApiOperation 注释来对方法的返回类型执行此操作,如下所示。
@ApiOperation(value = "/someMethod", response = ReturnObjectView.class)
不幸的是,我已经找到了对输入参数执行相同操作的任何方法。我想知道是否有人通过适当的例子帮助我解决这个问题。
【问题讨论】:
-
这可以通过 JAX-RS 完成,但对于 Spring-MVC,您应该在 github.com/springfox/springfox repo 中询问
标签: java spring-mvc swagger swagger-2.0 springfox