如果您的目标是宁静的api,那么我的选择是第二个,因为您在url中标识了资源;说您必须管理角色资源,您应该具有一些类似于以下的映射:
@RequestMapping("/api/role" method = RequestMethod.POST)插入新角色(可能是api不允许这样做)
@RequestMapping("/api/role/{roleId}" method = RequestMethod.PUT)更新现有角色
@RequestMapping("/api/role/{roleId}" method = RequestMethod.DELETE)删除角色
@RequestMapping("/api/role" method = RequestMethod.GET)检索角色(您可以通过查询字符串实现一些过滤器)
其他资源(用户等)的命名方案也相同。
我会避免使用选项C,因为如果您的应用还发布了不使用api的网络界面,则我认为最好为api提供专用的映射



