Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc 为什么Kotlin和Spring MVC JSON返回一个空对象?_Spring Mvc_Jackson_Kotlin - Fatal编程技术网

Spring mvc 为什么Kotlin和Spring MVC JSON返回一个空对象?

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能够很好地序列化对象后,我开始

我一直在和服务器端的Kotlin、Spring MVC和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'