【发布时间】:2015-02-20 12:38:34
【问题描述】:
我正在尝试将swagger-springmvc 0.9.5 与带有 XML 配置的 SpringMVC 3.2 项目集成。
我的 app-config.xml:
<beans xmlns="ht...
<context:annotation-config />
<mvc:annotation-driven>
<mvc:message-converters>
<bean id="messageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />
</mvc:message-converters>
</mvc:annotation-driven>
<context:component-scan base-package="com.myapp.info.v1.rest.endpoint"/>
<bean class="com.mangofactory.swagger.configuration.SpringSwaggerConfig" />
</beans>
我收到以下错误:
java.lang.NullPointerException
com.mangofactory.swagger.models.property.field.FieldModelPropertyProvider.propertiesForSerialization(FieldModelPropertyProvider.java:54)
com.mangofactory.swagger.models.property.provider.DefaultModelPropertiesProvider.propertiesForSerialization(DefaultModelPropertiesProvider.java:31)
com.mangofactory.swagger.models.DefaultModelProvider.properties(DefaultModelProvider.java:104)
com.mangofactory.swagger.models.DefaultModelProvider.modelFor(DefaultModelProvider.java:54)
com.mangofactory.swagger.readers.ApiModelReader.execute(ApiModelReader.java:70)
com.mangofactory.swagger.readers.ApiModelReader.execute(ApiModelReader.java:38)
com.mangofactory.swagger.core.CommandExecutor.execute(CommandExecutor.java:13)
com.mangofactory.swagger.scanners.ApiListingScanner.scan(ApiListingScanner.java:98)
com.mangofactory.swagger.core.SwaggerApiResourceListing.initialize(SwaggerApiResourceListing.java:72)
com.mangofactory.swagger.plugin.SwaggerSpringMvcPlugin.initialize(SwaggerSpringMvcPlugin.java:427)
...
我开始调试,发现如下:
- objectMapper 为空
- 永远不会调用 setObjectMapper
- setup() 永远不会被调用,尽管它有 @PostConstruct 注解。
我发现了三个具有相同错误的帖子,但它们似乎都不相关。 我是不是忘记了什么?我是 SpringMVC 框架的新手。
旁注:我还尝试了 swagger-springmvc 0.6.6 并设法让它工作。
【问题讨论】:
-
对于初学者,为什么需要消息转换器?尝试删除它,看看它是否有帮助
-
它也不适用于
-
更新后,objectMapper 的值似乎需要是 bean 的 ref 或内联 bean。
value=classpath*...绝对不对。它还需要是ObjectMapper的实例。
标签: spring api spring-mvc swagger