我正在编写我的第一个Web应用程序.只是想知道REST API设计的约定.它是否更好地反映我的服务器端架构或似乎更容易推理的任何东西?
我在考虑做以下事情:
/serviceProvider/product
要么
/product/serviceProvider
我的服务器端架构都被分成由服务提供商组织的模块,但它们都公开了产品查询API.
理想情况下,API应该被设计为对其消费者最有意义.还有是不是真的一个很好的理由,以反映"服务器架构"的说法.事实上,它通常被称为泄漏抽象或泄漏的API,被认为是不好的做法,主要是因为您的应用程序结构可能会发生变化,然后您有这些可能的情况:
你需要改变你的API,当某人已经被某人使用时,这是一项非常重要的任务;
您的API不再反映您的应用程序结构,从而导致不一致;
将您的应用程序结构或数据库模式暴露给全世界可能会产生安全隐患.
考虑到这些因素,您不妨设计API,首先关注易用性.您的API的使用者不需要了解或关心您的应用程序体系结构.