gpt4 book ai didi

java - org.springframework.web.HttpMediaTypeNotAcceptableException Spring MVC 4.2.5

转载 作者:行者123 更新时间:2023-12-02 03:47:17 28 4
gpt4 key购买 nike

我正在尝试从 Spring Controller 获取 json 响应。我遇到异常

org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation

我在 pom.xml 中有与 Jackson 相关的 jar,如下所示

<properties>
<spring.version>4.2.5.RELEASE</spring.version>
<jstl.version>1.2</jstl.version>
<servletapi.version>2.5</servletapi.version>
<jackson.version>2.6.3</jackson.version>
</properties>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>

下面是我的 Controller

    @ResponseBody
@RequestMapping(value = "/getNodes.htm",produces="application/json")
public List<NodeDTO> getNodes() {
...
return nodes;
}

我在浏览器中收到 406 错误,在服务器日志中收到上述异常。我的浏览器正确发送包含 application/json 的 Accept header 。但我仍然面临这个问题。我浏览了很多论坛,但没有一个解决我的问题。请帮我解决一下

最佳答案

您的@RequestMapping注释不正确,特别是扩展名.htm的使用。

应该是

@RequestMapping(value = "/getNodes.json",produces="application/json")

或者也许

@RequestMapping(value = "/getNodes",produces="application/json")

Spring MVC 使用 URL 的扩展名来标识要返回的内容的类型。在您的例子中,您指定了 .htm 的扩展名,Spring 将其解释为 HTML。然而,这与注释的 products 属性冲突,该属性指定 JSON。

我不清楚 Spring 如何处理此类冲突的内容类型,但如果您将 .htm 扩展名替换为 .json 或完全删除该扩展名,那么你就不用担心这个问题了。

关于java - org.springframework.web.HttpMediaTypeNotAcceptableException Spring MVC 4.2.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36188413/

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