-1

我现在有这个工作,但我不知道为什么会出现这个问题..

我遵循以下

http://pfelitti87.blogspot.co.uk/2012/07/rest-services-with-spring-3-xml-json.html

但我更改了控制器方法并添加了@ResponseBody ...

@ResponseBody
@ResponseStatus(HttpStatus.OK)
@RequestMapping(value="/names", method=RequestMethod.GET)
public List<Book> getNames() {

  return returnData();
}

通过添加这个我注意到输出将显示为 json,不管我指定的扩展名是什么?...

任何想法为什么@RepsonseBody 会导致这个问题?

4

1 回答 1

2

该帖子仅适用于解决基于不同类型的不同视图。它不适用于您的情况。

如果您使用的是 Spring 3.2.x,下面的配置将解决您的问题。

 <mvc:annotation-driven content-negotiation-manager="contentNegotiationManager"/>

  <bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
    <property name="favorPathExtension" value="true"/>
    <property name="mediaTypes">
      <value>
        json=application/json
        xml=application/xml
      </value>
    </property>
    <property name="defaultContentType" value="application/json"/>
  </bean>

但是,如果您使用的是 3.1.x,则有类似http://tedyoung.me/2011/07/28/spring-mvc-responsebodyhttp://springinpractice.com/2012/02/22/supporting-的方法xml-and-json-web-service-endpoints-in-spring-3-1-using-responsebody可能对您有所帮助。

于 2013-01-20T16:41:59.270 回答