为什么Spring MVC JSON的Kotlin返回一个空对象?
我一直在玩服务器端Kotlin,Spring MVC和Jackson。 我使用http://start.spring.io/构建了一个简单的应用程序,但是我可能在JsonView
注释中犯了一个错误。
这个:
@RestController class MyRestController { @RequestMapping("/user") @JsonView(User::class) fun getUser() : User = User("Fred",50) } data class User(val name: String, val age: Int)
…当被curl调用时
ph@sleek ~ $ curl -X GET http://localhost:8080/user; echo {} ph@sleek ~ $
…当我预计{"name":"Fred","age":50}
时,结果是{}
{"name":"Fred","age":50}
。 有什么我做错了吗?
比我想象的要简单得多。 在发现jackson能够连续化对象之后,我开始进行调整,发现默认值比配置更好:
class MyRestController { @RequestMapping("/user") fun getUser() : User = User("Fred",50) }
完善:
ph@sleek ~ $ curl -X GET http://localhost:8080/user; echo {"name":"Fred","age":50}
如果你想使用@JsonView
(这在许多情况下是必须的),我运行到相同的空对象问题,直到我添加jackson-module-kotlin
依赖项目我的项目。
compile 'com.fasterxml.jackson.module:jackson-module-kotlin'
看到这里: https : //stackoverflow.com/a/48019143/5258628
- Kotlin数据类到JSON与春天/杰克逊
- 在Kotlin中,FasterXML / jackson循环引用,@JsonIdentityInfo和UnresolvedForwardReference异常
- JsonProperty不能在缩小时启用
- Jackson与Kotlin混合
- 覆盖一些控制器的@JsonIgnore注释。 杰克逊。 弹簧
- 如何使用jackson反序列化Kotlin集合
- Kotlin数据类到JSON与spring/jackson
- jackson@JsonIgnoreProperties多个字段与Kotlin
- 你如何声明一个使用Jackson XML的JsonTypeInfo.As.WRAPPER_OBJECT的多态字段?