REST 的答案是您不应该构建 URL。在遵循 REST 租户的系统中,您正在跟踪指向已为您提供的资源的链接,以便您在系统的超媒体中导航。您从一个合理的知名 URL 作为导航的根开始,然后从那里浏览资源。
这被称为HATEOAS - 超媒体作为应用程序状态的引擎。它是 REST 架构约束之一。
此约束的显着优势是将客户端与 API 解耦,以使 API 可以随时更改其 URL 方案,并且各个客户端不必进行类似的更改。对“旧” URL 的请求会出现 300 范围的错误,并且新 URL 会逐渐填充到它们的缓存中。
就性能而言,缓存这些 URL 是合理的,只要您遵守 300 范围的代码并适当地更新缓存的 URL。
这意味着,如果您想访问具有给定名称的特定用户,您会假设您已经缓存了他们的 URL,或者您有一种机制(如 OpenSearch)来查找符合条件的用户。您不会“构建” URL,除非该服务为您提供了一个模板供您填充。
您可以在http://www.thomas-bayer.com/sqlrest/找到一个很好的 REST 服务教育示例。您的浏览器是一个足以与服务交互的客户端,并且应该演示任何客户端如何通过遵循超媒体格式来发现系统资源。