即使使用MappingJackson2HttpMessageConverter,还是需要@responsebody吗?

时间:2016-07-25 09:19:56

标签: java spring web-services jackson

我正在阅读此https://spring.io/guides/gs/rest-service/,我发现在第4版中,@RestController@ResponseBody@Controller的组合,因此没有必要提及@ResponseBody {1}}就像以前一样。但是,在我正在使用的一个应用程序中,我们使用的是Spring 3.x,我们开发了spring webservices并将Controller类注释为@Controller。样本控制器如下所示:

@Controller
public class SomeController {

@RequestMapping(value = "uri/{values}", method = RequestMethod.GET)
public List<SampleClassPOJO> giveSomething(@PathVariable("values") String some){

//logic

return listOfSampleClassPOJO;

}

//Other services

}

并在调度程序servlet xml中具有以下配置:

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
    <property name="messageConverters">
        <list>
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="prettyPrint" value="false"/>                        
                <property name="objectMapper">
                    <bean class="com.fasterxml.jackson.databind.ObjectMapper"/>
                </property>
            </bean>
        </list>
    </property>
</bean>

调度程序servlet在web.xml中引用

<servlet>
    <servlet-name>dispatch</servlet-name>
    <servlet-class>someCustom.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>dispatch</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

我们没有使用@ResponseBody注释任何Web服务方法,也没有在类级别注释,但仍然是响应是json。那么,何时需要@ResponseBody注释?

现在,这让我陷入困惑状态,我试图在dispatcher-servlet.xml中仅使用上述条目搜索任何示例,而在不使用@ResponseBody 的情况下搜索服务的方法,但没有例子。我发现的只有上面的条目以及Spring 4中的@RestController注释。

有谁能告诉我这里缺少的信息是什么?

由于

0 个答案:

没有答案