Web services 设计一个宁静的服务

Web services 设计一个宁静的服务,web-services,rest,restful-url,restful-architecture,Web Services,Rest,Restful Url,Restful Architecture,假设我正在设计一个Restful服务,给定2个整数返回它的和。 在这种情况下,没有要读取、创建、更新或删除的资源。 因此,如果我设计像GET/sum/first/33/second/44这样的东西,它不符合REST标准,因为'sum'是一个动词,应该有一个名词表示资源名称。 那么,调用sum的API调用应该是什么样子呢 请帮我设计一下。如果你关心的是名词和动词,请用“求和”而不是“求和”。就参数而言,我认为您应该提供所有要汇总的数字,例如/summation/1,2,3,4或/summation

假设我正在设计一个Restful服务,给定2个整数返回它的和。 在这种情况下,没有要读取、创建、更新或删除的资源。 因此,如果我设计像GET/sum/first/33/second/44这样的东西,它不符合REST标准,因为'sum'是一个动词,应该有一个名词表示资源名称。 那么,调用sum的API调用应该是什么样子呢


请帮我设计一下。

如果你关心的是名词和动词,请用“求和”而不是“求和”。就参数而言,我认为您应该提供所有要汇总的数字,例如/summation/1,2,3,4或/summation/1+2+3+4。

REST没有说明您的URL应该是什么样子。你真的可以得到任何你想要的东西:
GET/hdueqixp
例如返回“77”


我,我喜欢简短的自我嘲讽的URI。我会使用
/sum/33+44
。您没有在请求URL中包含操作参数,所以不要担心动词和名词。这是为那些仍在做类似于
GET/users/deepak?action=delete
的事情的人准备的。谢谢,但是“summation”仍然不是资源。“sum”是您已经定义的资源吗?我认为总结应该是一种行动,而不是一种资源。您可以定义像/numbers/1,2,3,4/summation这样的东西,其中summation将是一个操作,您将解析提供的参数“1,2,3,4”,添加它们并返回结果。我不确定/numbers/1,2,3,4/summation是否符合REST架构deepak,您可以在查询字符串中传递参数,例如/numbers/summation?num=1,2,3,4。如果您不想使用逗号分隔的数字,则可以执行/numbers/summation?firstNum=1&secondNum=2&thirdNum=3&forthNum=4,依此类推。为了使这个更漂亮,你的url可以重写为/numbers/summation/1/2/3/4。在我前面的例子中,即/numbers/1,2,3,4/summation,我的意思是说/numbers/:listOfNumbers/summation,其中:listOfNumbers将保存要添加的数字(当然它看起来并不漂亮),为什么你说它不符合REST体系结构?@DeepakGarg BTW:“sum”只是“summation”的缩写这两个词都是名词和动词,名词表示运用动词的结果。比如“我在洗衣服”。在本例中,washing是一个名词。谢谢Nicholas,这很有帮助。@DeepakGarg事实上,我刚刚意识到,如果URL中包含加号,那么单词
sum
是多余的,并且API将其定义为“求和”。您可以轻松地获得
/33+44
/result/33+44