转换器的 REST 端点命名约定 API

REST end-point naming convention for converter API

我正在实施一个 REST 端点,将 banana 转换为 orange,但也 orange香蕉.

端点的正确命名是什么?

/conversions/banana/orange
/conversions/orange/banana


/conversions/banana2orange
/conversions/orange2banana


/conversions/bananatoorange
/conversions/orangetobanana

或者完全不同的东西?

在我看来,REST 是关于资源的。在这种情况下,资源是香蕉和橙子。例如,如果您假设可以通过 ID 检索香蕉或橙子,那么您的端点将是:

  1. /oranges/{id}
  2. /bananas/{id}

所以我不会创建 /conversions 端点,但我会使用这样的东西:

  1. /oranges/frombanana/oranges/from_banana
  2. /bananas/fromorange/bananas/from_orange

无论如何,我真的不认为有一个非常完善的命名约定,所以我不会觉得上面提出的任何端点很奇怪。无论如何,我觉得前两个不是很清楚; /conversions/orange/banana 是做什么的?它是将橙子转化为香蕉还是将橙子从香蕉转化为香蕉?也许像 /conversions/banana/to/orange 这样的东西会更不言自明。

仅供参考,这里有一些云存储服务的API:

  1. Dropbox API:https://www.dropbox.com/developers/documentation/http/documentation
  2. Box API:https://developer.box.com/reference

或贝宝:https://developer.paypal.com/docs/api/balance-accounts/