gpt4 book ai didi

java - Spring JSON View

转载 作者:太空宇宙 更新时间:2023-11-04 07:13:17 24 4
gpt4 key购买 nike

我正在学习 Spring MVC 和 REST。我正在尝试返回 JSON 响应。

到目前为止,我已经修改了一个简单的 Hello World 示例,发现 here

在我的 Controller 中,我有这个:

@Controller
@RequestMapping("/movie")
public class MovieController {

@RequestMapping(value="/{id}", method = RequestMethod.GET)
public @ResponseBody Movie getMovie(@PathVariable int id) {
return Movie.getMovie(id);
}

}

Movie 类仅包含带有 id、标题和年份的 Movie 实例的静态集合。那里没有什么特别的事情发生。

我的上下文 XML 如下所示:

<beans xmlns="http://www.springframework.org/schema/beans"
... namespace declarations truncated>

<context:component-scan base-package="com.mypackage.controller" />

<mvc:annotation-driven />

<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="defaultContentType" value="application/json" />
<property name="ignoreAcceptHeader" value="true" />
<property name="favorPathExtension" value="false" />
</bean>

在上面的 XML 中,我声明了一个 ContentNegotiatingViewResolver 来始终返回 JSON,并忽略 Accept header 和路径扩展。

我部署的 WEB-INF/lib 中有 jackson-core-lgpl-1.9.13.jar,这样 Spring 就可以将我的 Movie 类转换为 JSON。

但是,当我请求 http://localhost:8080/myapp/movie/1 时,我收到 HTTP 406 响应。

最佳答案

Jackson 核心还不够,您需要 Jackson 映射器。这是获取当前版本的 Maven 代码片段:

<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>

关于java - Spring JSON View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20329888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com