需要两个与对象“item”相关的服务。
获取项目的详细信息。虽然这是一种获取数据的方法,但我将使用 POST,因为我的 pathParam/MatrixParam 列表太长(比如说,matrixParam 中提供的 buyerIds 用于获取他们购买的商品)。为了避免“URI 太长”异常,我将其设置为 POST。
保存项目的一些详细信息。这也将是一个 POST 方法,因为它正在保存/更新。
现在,两个服务将具有相同的 url http://...../item并且两者都将 httpMethod 作为 POST。
我们如何通过 URL 区分这两种服务?将其设为“http://.../item/save ”和“.../item/get”是否正确?
最佳答案
如果您的网址最终太长,听起来您的网址设计是错误的 - GET 对 http://.../items/1/purchasers/
会(例如)一个合适的 URL 来返回所有购买了商品 1 的人,然后要更新商品 1,您可以将 PUT 到 http://.../items/1/
并创建一个您想要的商品POST 到 http://.../items/
您决定的 URL 方案听起来并不符合 RESTful,因为您使用它来描述操作而不是资源 - URL 应该标识您正在访问的资源,而不是对其执行的操作。
关于java - 在为我们的应用程序形成 REST URL 时,我们应该如何区分与同一对象相关的两个服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30976598/