2014-10-20 41 views
0

我想在使用@RestController時返回JSON。我正在使用Spring 4.1。 這是我在使用GET請求調用listrestsites.html時遇到的異常。 我在我的構建路徑中有更快的xml Jackson核心和數據綁定罐。 @requestheader = accept:application/json,text/javascript,/; q = 0.01 任何幫助表示讚賞。謝謝你,使用Spring 4.1的錯誤@RestController

[DEBUG,ExceptionHandlerExceptionResolver]從 處理程序解決的異常[公共java.util.List的 com.amci.spring3.controller.SitesRestController.listRestSites(java.lang.String中)]: 組織。 springframework.web.HttpMediaTypeNotAcceptableException:無法 找到可接受表示[DEBUG,DefaultListableBeanFactory] ​​ 返回單豆 'exceptionControllerAdvice' 的緩存實例[DEBUG,ExceptionHandlerExceptionResolver] 調用@ExceptionHandler方法:public org.springframework.web.servlet.ModelAndView

這裏是我的Restcontroller類:

@RestController 
public class SitesRestController { 

    @Autowired 
    private AssetService assetService; 


    @RequestMapping("/listrestsites.html") 
    public List<Asset> listRestSites(@RequestHeader(value="accept") String accept) { 

     System.out.println(getLogLevel()); 
     System.out.println("accept: " + accept); 
     return assetService.findAssets(); 
    } 

} 

而且,從我spring.xml片段:

<property name="defaultViews"> 
    <list> 
     <!-- JSON View --> 
     <bean 
     class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"> 
     </bean> 

    </list> 
    </property> 
    <property name="ignoreAcceptHeader" value="true" /> 

</bean> 

回答

1

普萊斯e確保您的Spring xml文件中包含以下內容:

<context:annotation-config/> 

<bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean> 
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> 
<property name="messageConverters"> 
    <list> 
    <ref bean="jacksonMessageConverter"/> 
    </list> 
</property> 
</bean> 

並且您的POJO的所有項目都應該有getter/setter。希望它有幫助

信用answer to this question

+0

非常感謝你的答案。我在幾周前加入了這個問題,並解決了這個問題。 – 2015-04-28 14:34:10

+0

@MariaSpeicher每當你找到自己的問題的答案時,請在StackOverflow上更新它,這將有助於未來的用戶 – ankit 2015-04-30 06:52:09

相關問題