用于效用计算的RESTAPI设计

用于效用计算的RESTAPI设计,rest,Rest,我正试图设计一个API来平衡RESTful推荐实践与总体可用性,我正在努力解决的一件事是设计用于计算事物的实用方法 具体地说,对于家庭酿造,酿酒商在酿造过程中需要计算很多东西:颜色、苦味、ABV等。我想有一个/calculators端点非常简单,结果是GET返回可用的计算器: /计算器/1 /计算器/2 虽然在这种情况下,返回肯定更方便用户: /计算器 /计算器/ibu 计算器资源上的GET应该是什么样子?组成计算的值是否应该是URL参数(/calculators/abv?og=1.05

我正试图设计一个API来平衡RESTful推荐实践与总体可用性,我正在努力解决的一件事是设计用于计算事物的实用方法

具体地说,对于家庭酿造,酿酒商在酿造过程中需要计算很多东西:颜色、苦味、ABV等。我想有一个
/calculators
端点非常简单,结果是
GET
返回可用的计算器:

  • /计算器/1
  • /计算器/2
虽然在这种情况下,返回肯定更方便用户:

  • /计算器
  • /计算器/ibu

计算器资源上的
GET
应该是什么样子?组成计算的值是否应该是URL参数(
/calculators/abv?og=1.050&fg=1.021
)?当没有提供必要的参数或提供了无效的参数组合时,适当的响应/响应代码是什么?除了我在上面指定的每种计算类型的资源之外,还有更合理的设计吗?

您可以使用一些响应代码,400是一般的“客户端错误”,因此它将是其中之一。你也可以加入一个主体来解释什么是错误的

对我来说,您形成get请求的方式似乎足够合理,很难说,因为这是一个有点做作的示例

对于简单的计算,这种格式可能还可以。对于更复杂的计算,您可能需要考虑有一个参数来对整个计算进行编码,请考虑<代码> 6×9 ^ 10/6 < /代码> .<