2015-02-23 89 views
1

我試圖通過jackson-mapper-asl庫的幫助將對象列表轉換爲json,但作爲響應,我得到http 406錯誤。 jackson-mapper-asl庫位於我的課程路徑中。以下是我的Spring MVC控制器代碼:Spring MVC:jackson-mapper-asl不適用於Spring 4

@RequestMapping(value="/find-sub-categories/{parentId}", method=RequestMethod.GET) 
@ResponseBody public List<ProductCategory> findSubCategories(@PathVariable(value="parentId") ProductCategory productCategory) { 
    logger.info("In ADMIN findSubCategories Contoller AJAX GET"); 

    List<ProductCategory> categories = productCategoryService.findAllChildProductCategoriesByParent(productCategory); 
    return categories; 
} 

我的Ajax請求代碼:

$.ajax({ 
      url: url+"/"+parentId, 
      type: 'GET', 
      success: function(result) { 
       var arr = $.parseJSON(result); 
----------------------- 
+3

你使用錯誤的傑克遜依賴關係檢查這裏http://stackoverflow.com/questions/26825276/spring-4-restcontroller-json-characteristics-not-acceptable-according-to-the-re – 2015-02-23 14:42:40

+0

你加入?contentType:「應用程序/ json; charset = utf-8「,dataType:」json「,也是ver傑克遜的使用?對Jackson的支持一直專注於2.0以上的春季4 – 2015-02-23 16:24:24

回答

10

隨着spring 4,我們需要使用以下依賴性:

<dependency> 
<groupId>com.fasterxml.jackson.core</groupId> 
<artifactId>jackson-databind</artifactId> 
<version>2.5.1</version> 
</dependency> 

jackson-mapper-asl用於與spring 3.x 。感謝@Master Slave的有效評論。點擊這裏查看更多信息:Spring 4 RestController JSON: characteristics not acceptable according to the request "accept" headers

+0

如果我添加上面的依賴關係,我的tomcat服務器8就停止了。會有什麼問題? – 2017-07-31 13:59:19

0

我想你在有效路徑變量參數類型前使用:

@RequestMapping(value="/find-sub-categories/{parentId}", method=RequestMethod.GET) 
@ResponseBody public List<ProductCategory> [email protected](value="parentId") ProductCategory productCategory) 

,而不是它,使用下面的方法頭它可能工作

@ResponseBody public List<ProductCategory> findSubCategories(@PathVariable Integer parentId) 
+0

我使用'@ PathVariable'的方式是Spring-Data功能。這個問題只與我使用的錯誤依賴關係有關。我已經發布了答案。 – 2015-02-24 05:20:14

相關問題