RESTful API设计:为特定资源提供特定的子URI,应该鼓励/避免哪些属性?

时间:2016-06-20 16:00:43

标签: rest api-design

将API设计为尽可能RESTful,我想知道是否可以将资源划分为特定的子URI。

让我们拥有以下URI:

  • GET /users:列出用户
  • GET /users/42:获取有关id=42用户的详细信息,例如:

    {
        id: 42,
        first_name: "Done",
        last_name: "Joe",
        is_active: false
    }
    

我即将考虑"是否活跃" status作为自己的资源:

  • GET /users/42/is_active获取有关id=42

    用户的活动状态
    {
        is_active: false
    }
    
  • 使用正文
  • PUT /users/42/is_active设置关于id=42用户的活动状态:

    {
        is_active: false
    }
    

任何专业人士还是其他人都这样做了?

1 个答案:

答案 0 :(得分:1)

你所说的被称为“微资源”。它以幂等方式进行部分更新很有用。它在更知名的API中并不流行,但它肯定是一种有效的设计方法。