gpt4 book ai didi

java - Spring MVC 3 : Returning XML through @ResponseBody

转载 作者:IT老高 更新时间:2023-10-28 20:32:00 25 4
gpt4 key购买 nike

请原谅我发布这个菜鸟问题,但我已经调试这个问题很长一段时间了。我在尝试获取基于对象返回 XML 的响应时遇到了一点问题:-

@RequestMapping(value = "/mylink", method = RequestMethod.GET)
public @ResponseBody SomeObject doIt() {
...
}

现在,即使调用了该 API,我的客户端也根本没有收到 XML 响应。我一直在阅读一些地方,似乎我需要配置 XML 编码器或某种 XML 解析器,但我不确定如何将该部分集成到我现有的配置中。我目前在我的 servlet.xml 中有以下配置:-

<context:component-scan base-package="ss.controller" />

<mvc:annotation-driven />

<mvc:resources location="/resources/" mapping="/resources/**" />

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/app/" />
<property name="suffix" value=".jsp" />
</bean>

有人可以发布一些示例配置,说明如何配置我的 servlet.xml 以使其正常工作吗?非常感谢。

最佳答案

这可以通过在 Spring 上下文中添加以下魔法来完成(参见 docs):

<mvc:annotation-driven/>

其中包括:

Support for reading and writing XML, if JAXB is present on the classpath.

如果检测到 JAXB(即,如果您在 Java6 上,或者在您的类路径上有一些 JAXB 实现),这将在上下文中注册一个 Jaxb2RootElementHttpMessageConverter,并提供吐出的能力从 @ResponseBody 注释方法的返回值中取出 XML。

注意:您的问题有点建议使用 ViewResolver 来呈现 XML,但这不是必需的。 @ResponseBody 注解旨在完全绕过 View 层。

关于java - Spring MVC 3 : Returning XML through @ResponseBody,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4856298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com