11、服务间状态转移及操作设计策略

服务间状态转移及操作设计策略

1. 服务间状态转移的方式

在服务之间实现状态转移有三种方式,每种方式都有其适用场景和特点。

1.1 通过内联现有表单按值传递

通过超媒体表单在服务之间传输状态数据是解决该问题最简单、最直接的方法。示例如下:

<form action="http://api.example.org/shopping/cart"
  method="post" name="cartCreate">
  <input name="cartId" value="q1w2e3r4t5y6u7i8" />
  <input name="cartName" value="Mike's Cart" />
</form>

这种方式适用于状态数据集合较小,且接收服务不需要预先存在有状态会话的情况。

1.2 通过专用操作按值传递

可以通过在服务接口中添加导入和导出操作来支持状态转移。例如,一个购物车管理服务除了常规的创建、添加商品、移除商品和结账步骤外,还可以添加导入现有购物车集合和导出该集合的步骤。以下是一个支持导入和导出操作的简单购物 API 的 ALPS 代码片段:

{
  "$schema": "https://alps-io.github.io/schemas/alps.json",
  "alps": {
    "version": "1.0",
    "title": "Simple
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值