我正在开发一个Grails REST应用程序。我有三个用户角色:BusinessOwner,用户,管理员,公共(未验证)什么是REST API和用户角色设计最佳实践?
我已经喜欢api/business/1
端点。
当BusinessOwner角色的用户调用,它返回一个企业的所有细节,但如果与公众(未验证)用户角色调用,它返回的细节的一个子集。 所以,问题是如何实现端点:
1有一个端点像api/business/1
并检查用户的角色是什么,回到正确的价值观(几个if/else语句,....)
OR
2-具有单独的API领域,如下列其中每个都有它自己特定的安全,并返回特定子集:
api/admin/business/1
api/businessOwner/business/1
api/public/business/1
哪一个更好?和
设计REST API和应用用户角色的最佳做法是什么?
选项1.这将允许在可用角色的变化容易vs选项2。 – bassmartin