Spring REST XML和JSON示例

时间:2020-02-23 14:35:59  来源:igfitidea点击:

欢迎使用Spring Restful Web Services XML和JSON示例。
这时一篇关于Spring REST JSON的文章,并且有很多注释询问如何更改程序以支持XML。
我也收到一些电子邮件,询问如何使应用程序同时支持XML和JSON。

Spring REST XML和JSON

这是一篇关于Spring REST XML和JSON应用程序的文章,在这里我将向您展示如何轻松扩展现有应用程序以支持XML。
由于我将对现有项目进行更改

现在,对Spring bean配置文件进行以下更改。

  • 定义类型为" Jaxb2RootElementHttpMessageConverter"的bean。

  • 将上面配置的bean添加到RequestMappingHandlerAdapter属性的messageConverters中。

经过上述更改后,我们最终的spring bean配置文件将如下所示。

servlet-context.xml

<beans:bean id="xmlMessageConverter" class="org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter">
</beans:bean>

我们知道,对于使用JAXB编组的类,我们需要使用@ XmlRootElement注释对其进行注释。
因此,将其添加到" Employee"模型类中。

Employee.java

<beans:bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<beans:property name="messageConverters">
	<beans:list>
		<beans:ref bean="jsonMessageConverter"
		<beans:ref bean="xmlMessageConverter"
	</beans:list>
</beans:property>
</beans:bean>

就是这样,我们完成了。
我们的Spring应用程序将支持JSON和XML。
它甚至将支持带有JSON响应的XML请求,反之亦然。
以下是一些显示此操作的屏幕截图。

注意:我正在为此使用Postman Chrome应用程序,您可以使用任何其他客户端进行此测试。

  1. XML响应:确保将Accept标头作为" application/xml"传递。

  2. JSON响应:确保将Accept标头作为" application/json"传递。

3.带有JSON响应的XML请求:确保Accept报头为" application/json",Content-Type报头为" text/xml"。