用于实用程序计算的REST API设计

时间:2014-06-27 18:41:52

标签: rest

我正在尝试设计一个平衡RESTful推荐实践和整体可用性的API,而我正在努力解决的一个问题是设计用于计算事物的实用方法。

具体来说,对于自酿啤酒,啤酒制造商想要在这个过程中计算很多东西:颜色,苦味,ABV等。我想这很简单,有一个/calculators端点,结果为GET返回可用的计算器:

  • /计算器/ 1
  • /计算器/ 2

虽然在这种情况下返回会更加方便用户使用:

  • /计算器/ ABV
  • /计算器/ IBU

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

1 个答案:

答案 0 :(得分:0)

您可以使用一些响应代码,400是一般'客户端错误',因此它将是其中之一。您也可以包含一个正文来解释错误。

你形成获取请求的方式对我来说似乎足够合理,很难说,因为这是一个人为的例子。

对于简单的计算,该格式可能正常。对于更复杂的计算,您可能需要考虑使用单个参数对整个计算进行编码,请考虑6 * 9 ^ 10 / 6