Java 带hibernate的SpringMVC,如何添加restful服务端点?
因此,我已经启动了SpringMVC并使用hibernate运行 我正在阅读如何使用@ResponseBy添加Restful端点: 如果我有一个端点,比如:Java 带hibernate的SpringMVC,如何添加restful服务端点?,java,spring,rest,spring-mvc,Java,Spring,Rest,Spring Mvc,因此,我已经启动了SpringMVC并使用hibernate运行 我正在阅读如何使用@ResponseBy添加Restful端点: 如果我有一个端点,比如: http://localhost:8080/services/user/get/1 我将获取userId=1的用户,如何返回,以及如何将我的用户对象转换为XML表示 我是否必须在User.java类中执行一些特殊的操作才能使其正常工作?我过去这样做的方式如下: 用(例如@XmlRootElement)注释用户类 连接合适的弹簧HttpM
http://localhost:8080/services/user/get/1
我将获取userId=1的用户,如何返回,以及如何将我的用户对象转换为XML表示
我是否必须在User.java类中执行一些特殊的操作才能使其正常工作?我过去这样做的方式如下:
- 用(例如
)注释@XmlRootElement
类用户
- 连接合适的弹簧
HttpMessageConverter
- 发送请求时,请确保包含接受标头:
Accept:application/xml
通过这样做,您可以完全控制
用户如何“扁平化”为XML,但您将放弃所有的艰苦工作(确定正确的端点、数据转换)到Spring。通过接口的实现,将@ResponseBody注释的方法返回类型转换为实际的HTTP响应。春天来了,春天来了。因此,如果您可以使用JAXB注释来注释您的用户类,那么这可能适合您。若用户是一个Hibernate注释的实体,那个么向其中添加JAXB也可能会有问题。您可能希望为JAXB创建一个中间对象
或者,您可以通过使用来使用任意封送拆收器。有很多内置的实现可供选择,也可以自己编写
通过在AnnotationMethodHandlerAdapter(在dispatcher servlet xml中:
<bean id="xmlMessageConverter" class="org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter">
<property name="supportedMediaTypes" value="text/xml" />
</bean>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="xmlMessageConverter"/>
</list>
</property>
</bean>
Spring MVC与XStream集成(将对象转换为XML)
这是一个有趣的方法:
您必须在类中设置XStreamAlias
注释,并将Spring配置为使用XStream
我还指出Spring的输出是xml。在url示例中,应该是:
http://localhost:8080/services/user/get/1.xml
也许可以尝试一个XML请求,看看会发生什么。各种类似于“Postr”的浏览器插件非常适合使用RESTful API。