Swagger UI是否支持@ModelAttribute?

时间:2014-08-21 08:00:41

标签: swagger-ui

我已经为REST Web服务配置了Swagger,它运行良好并使用干净的文档提取我的Request,Response参数但是在使用@ModelAttribute注释时无法显示模型架构

我需要做些什么才能让Swagger接受@RequestBody这样的注释?

1 个答案:

答案 0 :(得分:0)

我在方法参数上使用@ModelAttribute时遇到了类似的问题,结果发现该对象不是正确的POJO而无法序列化。解决这个问题的第一步是启用Swagger / Spring类的跟踪级别日志记录,并在log4j2.xml中添加以下XML块:

<Logger name="com.mangofactory" level="trace"></Logger>

这导致输出以下记录的事件:

13:15:43.954 [localhost-startStop-1] DEBUG com.mangofactory.swagger.readers.operation.parameter.ModelAttributeParameterExpander - Expanding parameter type: class org.joda.time.DateTime
13:15:43.955 [localhost-startStop-1] DEBUG com.mangofactory.swagger.readers.operation.parameter.ModelAttributeParameterExpander - Attempting to expanding field: private static final long org.joda.time.DateTime.serialVersionUID
13:15:43.956 [localhost-startStop-1] DEBUG com.mangofactory.swagger.readers.operation.parameter.ModelAttributeParameterExpander - Skipping expansion of field: private static final long org.joda.time.DateTime.serialVersionUID, not a valid bean property

根据您的对象及其需要,您可能需要使用SwaggerSpringMvcPlugin.directModelSubstitute定义映射,或确保您的对象具有匹配的getter / setter。另一种选择是使用Jackson Data Binding库。