假设我有一个组件,它作为业务操作执行添加。 我不需要将总和的结果保存在任何地方,因为,比方说,唯一重要的是添加的结果。
假设客户端组件应该对保存添加的结果感兴趣,所以我需要指示客户端如何保存添加的结果,以便他可以稍后返回并检索此结果。< / p>
是否可以将添加服务建模为Web资源?类似的东西:
GET api.mycompany.com/addition?param1=x¶m2=y
应该返回业务操作的结果。响应可能会将以下内容显示为链接(此处为超媒体)以保留结果:
POST api.mycompany.com/addition?param1=x¶m2=y
这种做法是否正确? - 在一个真正宁静的api的意义上 -
答案 0 :(得分:0)
考虑到CRUD操作,这个:
GET api.mycompany.com/addition?param1=x¶m2=y
是幂等的,安全的和可缓存的,所以我将它视为RESTful GET。 一旦您的参数变得更加复杂,您就可以将它们发布到“添加”资源,并将URL返回到计算结果。
答案 1 :(得分:0)
是的,没关系。但也许最好有一个名为operation
的资源,它返回支持操作的链接列表。然后你可以拥有operation/addition?param1=x¶m2=y
等等。当然,链接应该是不透明的,并且通过调用operation
资源返回的文档化媒体类型应提供有关其他可用资源的信息。