RESTful Web服务中的URL是否可以为具有不同授权级别的用户执行不同的操作?

Luc*_*uke 2 java rest java-ee

我正在创建一个RESTful Web服务,我有一个像这样的URL:

GET /pets
Run Code Online (Sandbox Code Playgroud)

对于普通用户,这应该只返回属于该用户的宠物.但对于管理员,它应该返回系统中的所有宠物.这样做有误吗?或者我应该这样做

GET /pets?ownedBy=Smith
Run Code Online (Sandbox Code Playgroud)

如果用户是史密斯或管理员,只允许访问宠物?

Jun*_*san 5

我不认为REST规范具体提到它的任何内容.但IMPO,我认为根据请求用户返回结果是完全正确的.URL应尽可能保持清洁.如果用户信息已作为标题的一部分出现,则不需要以冗余方式提供URL.