@ResponseBody无法返回格式json错误406

用户2912015

@ResponseBody无法返回格式json,并且我在浏览器上收到Etat HTTP 406

我正在使用:jackson-core-asl 1.9.3和ajckson-mapper-asl 1.9.3

Getjson:

 var p = $.getJSON("natureParOperateur.html", {nomOperateur: $("select#nomOperateur").val()}, function(j) {

}

春天 :

 @RequestMapping(value = "/natureParOperateur.html", method = RequestMethod.GET)
            public @ResponseBody
          List<Nature> natureParOperateur(@RequestParam("nomOperateur") String nomOperateur) {
   List<Nature> listeNatures = metier.consulterNaturesParNomOperateur(nomOperateur);
    return listeNatures ;
            }

我的servelet上下文:

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:beans="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->

    <!-- Enables the Spring MVC @Controller programming model -->
    <annotation-driven/>

    <!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
    <resources mapping="/resources/**" location="/resources/" />


    <!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
    <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <beans:property name="prefix" value="/WEB-INF/views/" />
        <beans:property name="suffix" value=".jsp" />
    </beans:bean>

    <context:component-scan base-package="ma.cosumar.web" />

    <context:component-scan base-package="rapport.excel" />

   <beans:bean id="viewResolver1" class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
            <beans:property name="order" value="1"/>
            <beans:property name="basename" value="views"/>
  </beans:bean>


</beans:beans>

我通过以下网址进入浏览器:

http://othman-pc.com:8080/dsi/natureParOperateur.html?nomOperateur=IAM

type Rapport d''état 406

message

description La ressource identifiée par cette requête n''est capable de générer des réponses qu''avec des caractéristiques incompatible avec la directive "accept" présente dans l''entête de requête.

我的pom:

<

dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${org.springframework-version}</version>
            <exclusions>
                <!-- Exclude Commons Logging in favor of SLF4j -->
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                 </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>

        <!-- AspectJ -->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>${org.aspectj-version}</version>
        </dependency>   

        <!-- Logging -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${org.slf4j-version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>${org.slf4j-version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${org.slf4j-version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.15</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.mail</groupId>
                    <artifactId>mail</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.jms</groupId>
                    <artifactId>jms</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.sun.jdmk</groupId>
                    <artifactId>jmxtools</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.sun.jmx</groupId>
                    <artifactId>jmxri</artifactId>
                </exclusion>
            </exclusions>
            <scope>runtime</scope>
        </dependency>

        <!-- @Inject -->
        <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
            <version>1</version>
        </dependency>

        <!-- Servlet -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

        <!-- Test -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.7</version>
            <scope>test</scope>
        </dependency> 
            <!-- Hibernate -->






          <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>3.2.0.RELEASE</version>
          </dependency>
          <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>3.2.0.RELEASE</version>
          </dependency>
          <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>3.2.0.RELEASE</version>
          </dependency>
          <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>3.2.0.RELEASE</version>
          </dependency>
          <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.9</version>
          </dependency>
          <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-excelant</artifactId>
            <version>3.9</version>
          </dependency>
          <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.9</version>
          </dependency>
          <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
            <version>3.9</version>
          </dependency>
          <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-scratchpad</artifactId>
            <version>3.9</version>
          </dependency>
          <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-examples</artifactId>
            <version>3.9</version>
          </dependency>


        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>3.6.9.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>5.0.0.Final</version>
        </dependency>
                   <!-- Jackson JSON Mapper -->
        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-core-asl</artifactId>
            <version>1.9.13</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-mapper-asl</artifactId>
            <version>1.9.13</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.3</version>
        </dependency>
        <dependency>
            <groupId>com.google.api-client</groupId>
            <artifactId>google-api-client-gson</artifactId>
            <version>1.17.0-rc</version>
        </dependency>
Biju kunjummen

问题本质上是Spring不知道使用哪个转换器来转换响应-可以通过发送Accept标头来解决此问题,如果您使用AJAX库进行调用,则可以使用此处推荐的方法:无法正确设置Accept HTTP jQuery标头

如果您使用的是浏览器get,则可以选择使用.json扩展名:

将您的requestmapping更改为不具有.html扩展名:

@RequestMapping(value = "/natureParOperateur", method = RequestMethod.GET)
public @ResponseBody  List<Nature> natureParOperateur(@RequestParam("nomOperateur") String nomOperateur) {
   List<Nature> listeNatures = metier.consulterNaturesParNomOperateur(nomOperateur);
   return listeNatures ;
}

然后,像这样的请求http://othman-pc.com:8080/dsi/natureParOperateur.json?nomOperateur=IAM应该在内部将扩展名转换为适当的Accept类型(在这种情况下,application/json

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Spring MVC-以@ResponseBody的形式返回对象时出现问题(著名错误406,未解决)

来自分类Dev

Spring 4.1.1 RELEASE和@ResponseBody返回HTTP 406

来自分类Dev

错误函数未返回JSON格式

来自分类Dev

错误406无法接受的Spring MVC 4 Extjs5 JSON响应

来自分类Dev

Python-Spotify API返回错误400“格式错误的JSON”

来自分类Dev

Spring 3.1.1和JSON出现错误406

来自分类Dev

406 HTTP状态错误的正确响应格式是什么

来自分类Dev

Django Rest-GET调用返回格式错误的JSON

来自分类Dev

如何在Clojure Liberator中以json格式返回401错误?

来自分类Dev

返回与 Phoenix 中的 JSON 错误请求相同的格式

来自分类Dev

Pandas 'to_json' 函数返回错误的日期格式

来自分类Dev

从OData控制器返回后如何修复错误406

来自分类Dev

Rails send_data返回HTTP错误406

来自分类Dev

JSON错误:由于格式不正确,无法读取数据

来自分类Dev

使cURL以json格式返回

来自分类Dev

以JSON格式返回,PHP

来自分类Dev

Spring MVC仅使用ContentNegotiationManagerFactoryBean返回json 406

来自分类Dev

Spring MVC仅使用ContentNegotiationManagerFactoryBean返回json 406

来自分类Dev

日期格式返回错误的值和格式

来自分类Dev

SQL语句以错误的格式返回

来自分类Dev

JSON响应格式错误

来自分类Dev

GET的格式错误的Json

来自分类Dev

解析JSON格式的错误

来自分类Dev

编写自定义插件,该插件可以处理体内格式错误的JSON并返回适当的错误

来自分类Dev

由于循环JSON错误,Azure耐用函数无法返回对象

来自分类Dev

WebApi oData返回406

来自分类Dev

大量发布请求返回格式错误的错误

来自分类Dev

以JSON格式返回QuerySet吗?

来自分类Dev

以json格式返回solr响应

Related 相关文章

热门标签

归档