Spring mvc 为什么Kotlin和Spring MVC JSON返回一个空对象?
我一直在和服务器端的Kotlin、Spring MVC和Jackson合作。 我使用构建了一个简单的应用程序,但是我可能在Spring mvc 为什么Kotlin和Spring MVC JSON返回一个空对象?,spring-mvc,jackson,kotlin,Spring Mvc,Jackson,Kotlin,我一直在和服务器端的Kotlin、Spring MVC和Jackson合作。 我使用构建了一个简单的应用程序,但是我可能在JsonView注释中犯了一个错误 这: …当使用curl调用时 ph@sleek ~ $ curl -X GET http://localhost:8080/user; echo {} ph@sleek ~ $ …结果是{}当我期望{“name”:“Fred”,“age”:50}时。我做错什么了吗?比我想象的要简单得多。在发现Jackson能够很好地序列化对象后,我开始
JsonView
注释中犯了一个错误
这:
…当使用curl调用时
ph@sleek ~ $ curl -X GET http://localhost:8080/user; echo
{}
ph@sleek ~ $
…结果是
{}
当我期望{“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'
请参见此处:您需要用
JsonView
注释您的数据类,并告知哪些属性将包含在哪个视图中。
compile 'com.fasterxml.jackson.module:jackson-module-kotlin'