转换器的 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 检索香蕉或橙子,那么您的端点将是:
/oranges/{id}
/bananas/{id}
所以我不会创建 /conversions
端点,但我会使用这样的东西:
/oranges/frombanana
或 /oranges/from_banana
/bananas/fromorange
或 /bananas/from_orange
无论如何,我真的不认为有一个非常完善的命名约定,所以我不会觉得上面提出的任何端点很奇怪。无论如何,我觉得前两个不是很清楚; /conversions/orange/banana
是做什么的?它是将橙子转化为香蕉还是将橙子从香蕉转化为香蕉?也许像 /conversions/banana/to/orange
这样的东西会更不言自明。
仅供参考,这里有一些云存储服务的API:
我正在实施一个 REST 端点,将 banana 转换为 orange,但也 orange到香蕉.
端点的正确命名是什么?
/conversions/banana/orange
/conversions/orange/banana
/conversions/banana2orange
/conversions/orange2banana
/conversions/bananatoorange
/conversions/orangetobanana
或者完全不同的东西?
在我看来,REST 是关于资源的。在这种情况下,资源是香蕉和橙子。例如,如果您假设可以通过 ID 检索香蕉或橙子,那么您的端点将是:
/oranges/{id}
/bananas/{id}
所以我不会创建 /conversions
端点,但我会使用这样的东西:
/oranges/frombanana
或/oranges/from_banana
/bananas/fromorange
或/bananas/from_orange
无论如何,我真的不认为有一个非常完善的命名约定,所以我不会觉得上面提出的任何端点很奇怪。无论如何,我觉得前两个不是很清楚; /conversions/orange/banana
是做什么的?它是将橙子转化为香蕉还是将橙子从香蕉转化为香蕉?也许像 /conversions/banana/to/orange
这样的东西会更不言自明。
仅供参考,这里有一些云存储服务的API: