Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 即使使用MappingJackson2HttpMessageConverter,是否也需要@ResponseBy?_Java_Spring_Web Services_Jackson - Fatal编程技术网

Java 即使使用MappingJackson2HttpMessageConverter,是否也需要@ResponseBy?

Java 即使使用MappingJackson2HttpMessageConverter,是否也需要@ResponseBy?,java,spring,web-services,jackson,Java,Spring,Web Services,Jackson,我在读这篇文章,我发现在Spring 4中,@RestController是@ResponseBody和@Controller的组合,因此没有必要像以前那样在每个方法中都提到@ResponseBody。但是,在我正在开发的一个应用程序中,我们使用的是Spring3.x,我们开发了SpringWebServices,并将控制器类注释为@Controller。示例控制器如下所示: @Controller public class SomeController { @RequestMapping(v

我在读这篇文章,我发现在Spring 4中,
@RestController
@ResponseBody
@Controller
的组合,因此没有必要像以前那样在每个方法中都提到
@ResponseBody
。但是,在我正在开发的一个应用程序中,我们使用的是Spring3.x,我们开发了SpringWebServices,并将控制器类注释为
@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

}
@控制器
公共类控制器{
@RequestMapping(value=“uri/{values}”,method=RequestMethod.GET)
public List giveSomething(@PathVariable(“value”)字符串some){
//逻辑
SampleClassPojo的返回列表;
}
//其他服务
}
并在dispatcher 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>

dispatcher 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>

派遣
一些定制的DispatcherServlet
1.
派遣
/*
我们没有为任何web服务方法或类级别使用
@ResponseBody
进行注释,但响应仍然是json。那么,什么时候需要
@ResponseBody
注释

现在,这让我陷入了困惑的状态,我尝试在dispatcher-servlet.xml和中只使用上述条目搜索任何示例,而不在服务的方法中使用
@ResponseBody
,但是没有这样的示例。我唯一发现的是,上面的条目以及Spring4中的
@RestController
注释

谁能告诉我我在这里遗漏了什么信息


感谢您

不用代码片段,而是添加配置和代码以获得完整的图片。另外,您确切使用的是哪一个Spring 3.x版本,您是否还有一个
,以及在哪个配置文件中配置此
RequestMappingHandlerAdapter
。这里有很多移动组件,这取决于您使用什么和配置的结果可能不同。因此,目前信息太少,无法回答您的问题。我提到的上述xml片段位于dispatcher-servlet.xml中,并已在web.xml中配置。还有什么需要的吗?还有待解决。。。我也没有提到
,但我提到了
。将web.xml和
dispatcherservlet.xml
添加到问题中。如前所述,完整的图片不仅需要片段。最近的编辑是否更好?稍微好一点,但我仍然不知道配置了什么,因为您没有显示完整的配置。由于其他一些配置设置,您发布的定义可能毫无价值。添加配置和代码以获得完整的图片,而不是代码片段。另外,您确切使用的是哪一个Spring 3.x版本,您是否还有一个
,以及在哪个配置文件中配置此
RequestMappingHandlerAdapter
。这里有很多移动组件,这取决于您使用什么和配置的结果可能不同。因此,目前信息太少,无法回答您的问题。我提到的上述xml片段位于dispatcher-servlet.xml中,并已在web.xml中配置。还有什么需要的吗?还有待解决。。。我也没有提到
,但我提到了
。将web.xml和
dispatcherservlet.xml
添加到问题中。如前所述,完整的图片不仅需要片段。最近的编辑是否更好?稍微好一点,但我仍然不知道配置了什么,因为您没有显示完整的配置。由于其他一些配置设置,您发布的定义可能毫无价值。