手动描述Swagger输入/输出模型(没有Java域类)

时间:2016-04-04 13:36:18

标签: spring-mvc swagger springfox

我们有一个使用Spring MVC的现有REST API构建。 我们现在正兴奋地看看我们是否可以使用Swagger来生成内部文档(快速)。

我们的REST实现的问题是我们使用Spring MVC将业务对象转换为json,但我们有自定义json转换器,它们基本上从业务对象创建Jettison json对象(键/值)。目前无法改变这种情况。 输入btw也是如此。 它基本上总是我们发送给客户端的Hashmap。

因为我们可以生成控制器,所以使用Springfox的方法是一个好的开始。 但我们也希望记录输入/输出。 有没有办法使用Swagger Annotation手动记录输入/输出模型而不参考Java域类?

替代方案是我们完全编写自己的低级Swagger规范或查看其他解决方案。

1 个答案:

答案 0 :(得分:0)

为什么不使用spring rest-docs?我认为当你的服务模型不是真正的强类型时,你可能需要它。它有几个优点

  • 您可以为每个端点编写测试
  • 这些模型将始终反映现实,而不是从外部描述您的模型并将其提供给springfox基础架构。
  • 如果模型是外部提供的,那么无论如何都不能在没有某种测试的情况下保持这些变化。

这可能不在您的控制范围内,这就是为什么您有这个问题,但重新说明明显的替代方案是让您的模型反映客户的期望而不是松散的jose-key-value转化