使用SpingMVC开发rest接口,返回json到页面时,IE提示下载json对话框

  在开发rest接口时,采用spring自带的方式jackson返回数据,但是在ie浏览器下总是提示下载数据,并且android客户端则提示无法连接服务。刚开始觉得二者之间没有关系,后来发现是spring配置的问题。

  如果是:<mvc:annotation-driven />来注册DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter,系统会设置content为application/json,这种情况下由于IE并不支持此类MIMEType,因此会提示下载。需要修改为text/html方式。具体spring配置:

  

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<bean
    class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
    <property name="messageConverters">
      <list>
      <ref bean="jsonHttpMessageConverter" />
      </list>
    </property>
  </bean>
<bean id="jsonHttpMessageConverter"
 class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" 
    p:supportedMediaTypes="text/html"/>

 



posted @ 2013-12-13 15:48  popoy  阅读(547)  评论(0编辑  收藏  举报