Java 创建一个restful方法,该方法接受发布的xml并创建一个实体
如何获取如下所示的xml:Java 创建一个restful方法,该方法接受发布的xml并创建一个实体,java,spring,rest,spring-mvc,Java,Spring,Rest,Spring Mvc,如何获取如下所示的xml: <request> <User> <name>name value</name> <age>13</age> </User> </request> 有什么简单的事情我可以做,或者我必须手动解析xml吗 我使用的是SpringMVC,这是一种发布xml的方法。您可以使用Digest。 它将把XML元素绑定到POJO。 以下是完整的教程: 您的控制器方
<request>
<User>
<name>name value</name>
<age>13</age>
</User>
</request>
有什么简单的事情我可以做,或者我必须手动解析xml吗
我使用的是SpringMVC,这是一种发布xml的方法。您可以使用Digest。
它将把XML元素绑定到POJO。
以下是完整的教程:
您的控制器方法应采用类型为
User
的参数,该参数带有注释。然后,您需要使用适当的封送拆收器/解封送拆收器配置。一个直接来自参考指南的示例:
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<util:list id="beanList">
<ref bean="stringHttpMessageConverter"/>
<ref bean="marshallingHttpMessageConverter"/>
</util:list>
</property
</bean>
<bean id="stringHttpMessageConverter"
class="org.springframework.http.converter.StringHttpMessageConverter"/>
<bean id="marshallingHttpMessageConverter"
class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter">
<property name="marshaller" ref="castorMarshaller" />
<property name="unmarshaller" ref="castorMarshaller" />
</bean>
<bean id="castorMarshaller" class="org.springframework.oxm.castor.CastorMarshaller"/>
我需要一个更具体的例子:)上面的配置设置会处理我所有的模型/实体吗?是的。就这样。当然,如果选择不同的编组库,情况会有所不同。Spring支持多个应用程序。看见Castor和XStream将处理您向其抛出的任何POJO。我不确定Jibx和XmlBeans。JAXB在任何要处理的类上都至少需要@XmlRootElement。Jersey使用JAXB开箱即用。我们可以使用注释来进行设置吗?@AllanRuin:如果你是说使用Spring注释与XML配置,那么当然可以。两者完全可以互换。
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<util:list id="beanList">
<ref bean="stringHttpMessageConverter"/>
<ref bean="marshallingHttpMessageConverter"/>
</util:list>
</property
</bean>
<bean id="stringHttpMessageConverter"
class="org.springframework.http.converter.StringHttpMessageConverter"/>
<bean id="marshallingHttpMessageConverter"
class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter">
<property name="marshaller" ref="castorMarshaller" />
<property name="unmarshaller" ref="castorMarshaller" />
</bean>
<bean id="castorMarshaller" class="org.springframework.oxm.castor.CastorMarshaller"/>