gpt4 book ai didi

c# - Rest API 返回基于角色或不同实体的属性

转载 作者:行者123 更新时间:2023-12-05 03:08:58 31 4
gpt4 key购买 nike

我很好奇在构建适当的 restful 资源时,根据用户角色返回资源的最佳操作是什么。

例如,如果用户 1 调用,GET: api/Users/1该用户应该获得基本用户对象(名字、姓氏、电子邮件)以及 SSN 等专有信息。但是如果用户 2 调用,GET: api/Users/1该用户应该获得基本用户对象以及他们共享的共同 friend 。

这是在 restful 资源中提倡的东西,还是更容易将这些问题分解成更具体的东西,比如 api/Users/1/sensitive 和 api/Users/1/Friends?

如果前者是可以接受的,这是否可以通过继承来管理?

谢谢!

最佳答案

希望您在提出这个问题后取得了进步。

我将重新表述 this SO answer 中的声明:在 REST 的范围内完全可以根据约束返回同一资源的不同表示,例如:接受 header :(例如不同的格式,如 application/json 或 application/xml)授权:即基于调用者“授权”查看的内容。

REST 的唯一要求是资源的 URI 必须相同。所以,考虑:/api/User/1 作为 ID 为 1 的用户资源的 URI:完全符合 REST

鉴于:

/api/用户/1/私有(private)

/api/User/1/public

不是 RESTful,因为它为同一资源提供两个 URI。

关于c# - Rest API 返回基于角色或不同实体的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44220966/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com