我被推到一个特殊的境地,我无法决定什么是错的,什么是对的。
我有一个名为 Invoice 的资源。要获得 JSON 或 XML 表示,我使用下面的 URI
somedomain.com/inovices/{InvoiceNumber} - Invoice number is numeric
Accept: application/xml
当我想要相同资源的 PDF 时,我使用以下 URI:
somedomain.com/inovices/{InvoiceNumber} - Invoice number is numeric
Accept: application/pdf
上述两个 url 都用于经过身份验证的请求。我们还希望使用 GUID 支持未经身份验证的请求的相同资源,因此我们希望使用以下 URL
somedomain.com/inovices/{GUID}
Accept: application/pdf
上面的 URL 就像一个永久 URL,任何人都可以多次访问这个 URL。我的困惑是提供上述 URL 是否是 RESTful 的。因为在一个 URL 中我使用的是数字发票号码,而对于永久 URL,我将其替换为 GUID。
我觉得这是错误的原因是相同的资源用两个不同的 URI(数字和 GUID)表示,即使它们返回相同的资源。还是只是我的假设是错误的?是否反对任何 REST 约束是我无法理解的?