繁体   English   中英

宁静的 api 可以从单个端点中删除两个相关资源吗?

[英]Can a restful api remove two related resources from a single endpoint?

所以我的问题是我目前正在使用流明开发一个宁静的 api 并且想法是用户可以拥有许多列出的宠物供收养,任何登录的用户都可以将此宠物标记为保留收养......当用户点击保留按钮,向所有者发送通知(通过推送器和数据库通道),通知包含列出的宠物的 ID 和请求收养该宠物的用户 ID,因此所有者将看到的是带有两个按钮的通知用于批准或不批准采用请求,我的问题是从一个安静的角度来看,当单击任何按钮(即批准或不批准)时,我应该删除一个 go 中的通知和保留?

示例:我向以下端点 /user/notifications/{id} 发送 DELETE 请求,首先我获取用户 id(谁想要采用)和列表 id,然后删除预订,然后删除所有者的通知? 数据库设计

宁静的 api 可以从单个端点中删除两个相关资源吗?

是的; 也就是说服务器可能会处理请求

DELETE /user/notifications/1

通过执行删除“/user/notifications/1”和“/reservations/2”和“/foo”和“/bar”和“/881b1e4a-f84f-47c7-886b-e818e13b6168”。


事情可能会变得棘手:DELETE 的语义是仅作用于由目标 URI 标识的资源。 也就是说,使用 HTTP 的通用组件不一定会理解正在更改多个资源。

例如,服务器可以在 HTTP 响应的消息正文中包含已删除资源的列表,但我们没有标准化的方法将该列表编码到响应标头中,这是通用组件正在寻找的地方元数据。

因此,通用组件很可能会从其缓存中删除“/user/notifications/1”,但它不会对其本地缓存的其他响应表示做任何事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM