我正在尝试设计一个平衡RESTful推荐实践和整体可用性的API,而我正在努力解决的一个问题是设计用于计算事物的实用方法。
具体来说,对于自酿啤酒,啤酒制造商想要在这个过程中计算很多东西:颜色,苦味,ABV等。我想这很简单,有一个/calculators
端点,结果为GET
返回可用的计算器:
虽然在这种情况下返回会更加方便用户使用:
计算器资源上的GET
应该是什么样的?构成计算的值应该是URL params(/calculators/abv?og=1.050&fg=1.021
)吗?当没有提供必要的参数或提供无效的参数组合时,适当的响应/响应代码是什么?除了我在上面指定的每种计算类型的资源之外,还有更合理的设计吗?
答案 0 :(得分:0)
您可以使用一些响应代码,400是一般'客户端错误',因此它将是其中之一。您也可以包含一个正文来解释错误。
你形成获取请求的方式对我来说似乎足够合理,很难说,因为这是一个人为的例子。
对于简单的计算,该格式可能正常。对于更复杂的计算,您可能需要考虑使用单个参数对整个计算进行编码,请考虑6 * 9 ^ 10 / 6
。