@ModelAttribute
我已经为 REST Web 服务配置了 Swagger,它运行良好并使用干净的文档获取我的请求、响应参数,但是在使用注释时无法显示模型架构
我必须做些什么才能让 Swagger 接受这样的注释@RequestBody
吗?
@ModelAttribute
我已经为 REST Web 服务配置了 Swagger,它运行良好并使用干净的文档获取我的请求、响应参数,但是在使用注释时无法显示模型架构
我必须做些什么才能让 Swagger 接受这样的注释@RequestBody
吗?
我在使用方法参数时遇到了类似的问题, @ModelAttribute
结果证明该对象不是正确的 POJO 并且无法序列化。我弄清楚这一点的第一步是启用 Swagger/Spring 类的跟踪级别日志记录,并将以下 XML 块添加到我的 log4j2.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 库。