rest具体是怎么实现webservice的
2个回答
2020-09-16 · MySQL开源数据库领先者
关注
展开全部
万维网联盟指出,REST是一个如何构建Web服务的模型。REST Web是WWW(基于HTTP)的子集,其中代理提供统一的接口语义,本质上是创建,检索,更新和删除,而不是任意或特定于应用程序的接口,并且仅通过交换表示来操纵资源。那么,现在我们知道REST是什么了,作者将简要列出Roy Fielding在其论文的第五章中提到的所有约束:
- 客户端-服务器:以这样的方式实施服务:将用户界面关注点(客户端获得可移植性)与数据存储关注点(服务器获得可伸缩性)分离开来。
- 无状态:在客户端和服务器之间实现通信时,服务器在处理请求时永远不会利用储存在服务器上下文中的任何信息,而与会话相关的所有信息都存储在客户端中。
- 缓存:当可以(隐式或显式)缓存请求的响应时,客户端应获取缓存的响应。
- 统一接口:所有REST服务都应依赖组件之间相同的统一设计。接口应与提供的服务解耦。
- 分层系统:客户端永远不知道它们是直接连接到服务器还是连接到某些中间服务器。例如,请求可以通过代理,该代理具有负载平衡或共享缓存的功能。
展开全部
restful指的是一种设计的风格。不是某种标准,这个你可以先看看restful的资料。
cxf实现起来跟普通的endpoint差不多,但是不是直接调用函数,而是使用HTTP的GET,POST,DELETE方法当做命令执行操作,操作的对象是存在于/xxx/xxxx/下的资源。
@POST
@Path("/product")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
Product createProduct(Product product);
上面我写一个函数,想让客户端使用restful方式访问,那就加上注解 @post表示要用HTTP的POST,Path表示资源所在路径,每个方法上加上路径区分不同的方法,类上也可以加。以前的直接调createP方法,现在改成了 POST xxxxx/product的http命令。后面的两个注解是表示接受和返回的是json数据。
cxf实现起来跟普通的endpoint差不多,但是不是直接调用函数,而是使用HTTP的GET,POST,DELETE方法当做命令执行操作,操作的对象是存在于/xxx/xxxx/下的资源。
@POST
@Path("/product")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
Product createProduct(Product product);
上面我写一个函数,想让客户端使用restful方式访问,那就加上注解 @post表示要用HTTP的POST,Path表示资源所在路径,每个方法上加上路径区分不同的方法,类上也可以加。以前的直接调createP方法,现在改成了 POST xxxxx/product的http命令。后面的两个注解是表示接受和返回的是json数据。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询