注意:我不是在找一个域名可用性网络服务!现在我们已经解决了这个问题...
我如何构建一个既允许我们通过REST API从域投资组合中检索资源,又能在同一API中执行域可用性检查的系统?在这两种情况下使用相同的URI是一个好主意,还是我应该为此使用不同的资源?
例如:
如果我想要关于example.com的信息(这是我们投资组合中的一个域),我会用GET /domains/example.com/来检索我们的信息(注册信息,如域名服务器,联系人等)。还包括内部信息,如我们的客户记录、发票编号等)。
如果我想获得example.org的域名可用性(它没有在我们的产品组合中注册,所以不在我们的投资组合中),我也会调用GET /domains/example.org/,然后它将返回域名是否可用。
简而言之:对这两件事使用相同的URI (这两件事基本上都返回一个域的信息)是不是一个好主意?或者我应该为此使用不同的资源?例如/domainregistration/example.com/?
发布于 2013-02-20 23:53:12
REST API的基本思想是提供实现细节和域信息逻辑的抽象。在这种观点下,抽象可能适合,因为您可以从投资组合中的域和不在投资组合中的域中检索域信息。
但在检索域信息方面也有一些不同,例如,检索有关不在您的投资组合中的域的域信息的速度很慢,或者至少比检索您的投资组合中的域的信息慢。另一个不同之处在于,对于REST,通常会提供一些用于检索多个资源信息的批量功能,就像这样的GET /domains/example.com,anotherexample.com,localhost.com/。在检索有关不在您的投资组合中的域的信息时,您可能希望/可能不希望这样的功能可访问。
您可能拆分资源的另一个原因是,您可以实现一个调用,该调用检索有关您的投资组合中的域的所有信息:
GET /domains/此请求显然只能返回有关您的投资组合中的域的信息,因此在这种情况下,您的抽象将会中断。
当您对REST API进行建模以检索域可用性时,我建议使用如下资源
PUT /availabilities/example.com创建域可用性检查。此资源可以创建子资源example.com,然后可以使用它来检索有关此可用性检查的信息,或通过以下方式用来缓存域可用性检查结果:
GET /availabilities/example.com综合所有这些论点,我倾向于拆分资源,因为:
/domains资源/domains/example.com资源availabilities资源执行此检查。<代码>H214<代码>F215https://stackoverflow.com/questions/14953679
复制相似问题