如何通过类对象作为方法参数的RESTful服务吗

如何通过类对象作为方法参数的RESTful服务吗,第1张

需要在对象前声明 @ApiBodyObject
@POST
@Path("/addFavor/")
void addFavor(@QueryParam("linkId") String linkId, @ApiBodyObject User user,
@QueryParam("favorTypeCode") String favorTypeCode, @QueryParam("linkTable") String linkTable);
@ApiBodyObject 相当于 SpringMVC 的 @RequestBody
参数注解的作用就是将 xml/json (具体那种看配置,cxf 是json) 转换为实体对象如 User 传递给实现方法,如下:
@Override
@Transactional(readOnly = false)
public void addFavor(String linkId, User user, String favorTypeCode, String linkTable) {
}

简单理解一
就是用URL定位资源,用>REST是代表状态转移( REpresentational State Transfer)的缩写。 它是分布式超媒体系统的体系结构样式,由Roy Fielding于2000年在他的著名论文中首次提出。
与任何其他架构样式一样,REST还具有自己的6个指导约束,如果需要将接口称为RESTful,则必须满足这些约束。 这些原则在下面列出。
REST指导原则
客户端-服务器 —— 通过将用户界面问题与数据存储问题分开,我们提高了用户界面在多个平台上的可移植性,并通过简化服务器组件来提高可伸缩性。
无状态 —— 从客户端到服务器的每个请求都必须包含理解该请求所需的所有信息,并且不能利用服务器上存储的任何上下文。 因此,会话状态完全保留在客户端上。
缓存 —— 缓存约束要求对请求的响应中的数据被隐式或显式标记为可缓存或不可缓存。 如果响应是可缓存的,则授予客户端缓存以将响应数据重新用于以后的等效请求的权限。
统一的接口 —— 通过将通用的软件工程原理应用于组件接口,可以简化整个系统架构,并提高交互的可见性。 为了获得统一的接口,需要多个体系结构约束来指导组件的行为。 REST由四个接口约束定义:资源标识; 通过表述 *** 纵资源; 自我描述的信息; 并且,超媒体作为应用程序状态的引擎。
分层系统 —— 分层系统样式允许通过限制组件的行为来使体系结构由层次结构层组成,从而使每个组件都无法“看到”与它们交互的直接层。
可定制代码(可选)–—— REST允许通过以applet或脚本的形式下载并执行代码来扩展客户端功能。 通过减少预先实现的功能数量,简化了客户端。

讨论该问题的原因是之前有一次开会,讨论到webservice的实施,我直接给出的结论是应该使用rest替换掉原来的soap接口,原因是soap"太重量级了"(其实我内心想的是rest的实现比soap简单)但是当被问到怎么"重量级"的时候又是说不出来的。因为这个词'也是之前随便搜搜得到的答案。因为好像很多人就是这么阐述他们的去别的。所以究竟他们有什么不同呢,我简单说一下我的理解。

1 从定义上他们就是完全不同的,soap是一个协议,restful是一种架构风格,是直接基于>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13449427.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-08
下一篇 2023-08-08

发表评论

登录后才能评论

评论列表(0条)

保存