restful api 能否从单个端点删除两个相关资源?
Can a restful api remove two related resources from a single endpoint?
所以我的问题是我目前正在开发一个 restful api 使用 lumen 的想法是用户可以拥有许多列出的宠物供收养,任何登录用户都可以拥有这个标记为保留供收养的宠物...当用户单击保留按钮时,将向所有者发送通知(通过推送器和数据库通道),该通知包含所列宠物的 ID 和请求者的用户 ID这只宠物要收养,所以主人会看到一个带有两个按钮的通知,用于批准或不批准收养请求,我的问题是从 restful 的角度来看,当单击任何按钮(即批准或不批准)时,我应该一次性删除通知和预订吗?
示例:我向以下端点发送 DELETE 请求 /user/notifications/{id},首先我获取用户 ID(想要领养的人)和列表 ID,然后删除预订,然后删除业主的通知?
DB Design
Can a restful api remove two related resources from a single endpoint?
是;也就是说服务器可能会处理请求
DELETE /user/notifications/1
删除“/user/notifications/1”、“/reservations/2”、“/foo”、“/bar”和“/881b1e4a-f84f-47c7-886b-e818e13b6168”。
事情可能会变得棘手:DELETE 的语义 将仅作用于目标 URI 标识的资源。也就是说,使用 HTTP 的通用组件不一定会理解正在更改的多个资源。
例如,服务器可以在 HTTP 响应的消息正文中包含已删除资源的列表,但我们没有将该列表编码到响应 headers 中的标准化方法,这是通用组件寻找元数据的地方。
因此,通用组件很可能会从其缓存中删除“/user/notifications/1”,但不会对其他响应的本地缓存表示做任何事情。
所以我的问题是我目前正在开发一个 restful api 使用 lumen 的想法是用户可以拥有许多列出的宠物供收养,任何登录用户都可以拥有这个标记为保留供收养的宠物...当用户单击保留按钮时,将向所有者发送通知(通过推送器和数据库通道),该通知包含所列宠物的 ID 和请求者的用户 ID这只宠物要收养,所以主人会看到一个带有两个按钮的通知,用于批准或不批准收养请求,我的问题是从 restful 的角度来看,当单击任何按钮(即批准或不批准)时,我应该一次性删除通知和预订吗?
示例:我向以下端点发送 DELETE 请求 /user/notifications/{id},首先我获取用户 ID(想要领养的人)和列表 ID,然后删除预订,然后删除业主的通知? DB Design
Can a restful api remove two related resources from a single endpoint?
是;也就是说服务器可能会处理请求
DELETE /user/notifications/1
删除“/user/notifications/1”、“/reservations/2”、“/foo”、“/bar”和“/881b1e4a-f84f-47c7-886b-e818e13b6168”。
事情可能会变得棘手:DELETE 的语义 将仅作用于目标 URI 标识的资源。也就是说,使用 HTTP 的通用组件不一定会理解正在更改的多个资源。
例如,服务器可以在 HTTP 响应的消息正文中包含已删除资源的列表,但我们没有将该列表编码到响应 headers 中的标准化方法,这是通用组件寻找元数据的地方。
因此,通用组件很可能会从其缓存中删除“/user/notifications/1”,但不会对其他响应的本地缓存表示做任何事情。