Spring MVC应用程序不接受JSON

Spring MVC应用程序不接受JSON,spring,post,spring-mvc,Spring,Post,Spring Mvc,我不明白为什么我不能将更新发布到我的控制器。我试图通过chrome插件提交json数据。最终我将使用angular来处理请求。我对照其他stackoverflow文章进行了检查,似乎他们建议的我都有了 对于它的价值,我有一个GET请求到同一个工作正常的控制器 HTTP Status 415 - The server refused this request because the request entity is in a format not supported by the reques

我不明白为什么我不能将更新发布到我的控制器。我试图通过chrome插件提交json数据。最终我将使用angular来处理请求。我对照其他stackoverflow文章进行了检查,似乎他们建议的我都有了

对于它的价值,我有一个GET请求到同一个工作正常的控制器

HTTP Status 415 -  The server refused this request because the request entity is in a format not supported by the requested resource for the requested method.  
我的服务器日志显示以下内容

INFO - Mapped "{[/service/products/addProduct],methods=[POST],params=[],headers=[],consumes=[application/json],produces=[],custom=[]}" onto public void com.cr.controllers.ProductsController.addProduct(com.cr.entity.Products)
邮寄地址

http://localhost:8082/service/products/addProduct
正在发布的数据

{
    "productId": 2,
    "productModel": "Product Model 2",
    "productName": "Product Name 2",
    "dateAdded": 1361880001000,
    "productWeight": 2,
    "productStatus": "Hidden",
    "productTaxClass": {
        "taxId": 2,
        "taxClassTitle": "High Tax Class",
        "taxClassDescription": "This is a high tax class",
        "lastModified": 1361880001000,
        "dateAdded": 1361880001000
    },
    "productImages": {
        "imageId": 2,
        "imageDescription": "Product Image 2",
        "imageTitle": "Image 2",
        "imagePath": "prd_02.jpg",
        "imageRelation": 1
    },
    "productManufacturer": {
        "manufacturerId": 2,
        "manufacturerName": "Factory 2",
        "manufacturerImage": null
    },
    "quantityAvailable": 4,
    "quantityInWarehouse": 4,
    "stockAlert": 1,
    "productCost": 1,
    "productRetail": 1,
    "productPrice": 1,
    "productSalePrice": 1,
    "saleInd": null,
    "productSku": null,
    "backOrderMessage": null,
    "inStockMessage": null,
    "outOfStockMessage": null,
    "manufacturerproductsku": null,
    "productDescriptionId": {
        "productTextId": 2,
        "productTextData": "Este es en espanol",
        "lastModified": 1361793601000
    }
}
控制器映射

@RequestMapping(value = "/service/products/addProduct",
        consumes = "application/json",
        method= RequestMethod.POST)
public @ResponseBody void addProduct(@RequestBody Products products){
    productsDao.createProduct(products);
}
web.xml

   <servlet-mapping>
        <servlet-name>cr</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <filter>
        <filter-name>httpMethodFilter</filter-name>
        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>httpMethodFilter</filter-name>
        <servlet-name>cr</servlet-name>
    </filter-mapping>
这里是放大的定义和要求

 amplify.request.define("addRequest", "ajax", {
            url: "service/products/addProduct",
            type: "POST",
            dataType: 'json',
            contentType: 'application/json'
        });
        amplify.request({
            resourceId: "addRequest",
            data: JSON.stringify(jsonData),
            success: function () {
                alert("success")
            },
            error: function () {
                alert("fail")
            }
        });
数据:


我需要向jsonConverter bean添加以下内容

<property name="prefixJson" value="false"/>

最后的Bean如下所示

 <bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
        <property name="prefixJson" value="false"/>
        <property name="supportedMediaTypes" value="application/json"/>
    </bean>


您是否可以检查您的客户端是否发送了正确的内容类型头,application/jsonSpring MVC取决于Jackson(1或2)以处理JSON输入或输出。你的类路径中有jackson库吗?发布你提交数据的客户端代码,问题似乎出在客户端我添加的客户端代码中,还有一个新的错误message@CostiCiudatu我确实有杰克逊,但我失去了一处房产。
<property name="prefixJson" value="false"/>
 <bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
        <property name="prefixJson" value="false"/>
        <property name="supportedMediaTypes" value="application/json"/>
    </bean>