Spring Boot没有使用Jackson Kotlin插件

前端之家收集整理的这篇文章主要介绍了Spring Boot没有使用Jackson Kotlin插件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我不能强迫Spring为Jackson使用Kotlin模块.
问题是Jackson无法将JSON解析为数据类.

//Exception
2018-02-23 13:29:09.046 ERROR 24730 --- [nio-9300-exec-1] o.a.c.c.C.[.[.[.[dispatcherServlet]      : Servlet.service() for servlet [dispatcherServlet] in context with path [/services] threw exception [Request processing Failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [*.model.User]: Constructor threw exception; nested exception is java.lang.IllegalArgumentException: Parameter specified as non-null is null: method *.model.User.

我试图配置杰克逊,但它没有多大帮助.有什么奇怪的,在我配置ObjectMapper的@Bean方法中,一切正常.
此外,当我为非可空字段添加默认值时,它们不会被覆盖.

@Configuration
class JacksonConfig {
    @Bean
    fun mappingJackson2HttpMessageConverter(): MappingJackson2HttpMessageConverter {
        val mapper = ObjectMapper().registerKotlinModule()
        mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS,false)
        var user = mapper.readValue

可能重要的是模型与应用程序本身在不同的项目中.

Kotlin版本是1.20
杰克逊依赖:

    

我现在尝试的是:

All of these answers

Similiar problem but probably different case anyway

还有一些其他的,不值得注意的.

最佳答案
我是愚蠢的,认真的.

我的结构如下:

abstract class AbstractController (...) {
    fun save(@RequestMapping entity: T) {
    (...)
}

并启用它我用过

class DeriveredController (...) {
    @PostMapping
    override fun save(entity: Derivered) {
    (...)
    }
}

问题在于导出函数中缺少@RequestMapping.

猜你在找的Spring相关文章