REST最佳实践,按userId通过clusterId按集群获取用户

时间:2017-10-12 18:05:10

标签: rest spring-mvc spring-boot

我想根据群集通过userId获取用户。我有相同的用户,但在多个群集中,我需要通过clusterId

进行查询

以下哪个URL端点是最佳做法?

  1. www.example.com/user/{userId}/cluster{clusterId}
  2. www.example.com/user/{userId}?cluster={clusterId}

1 个答案:

答案 0 :(得分:-1)

首先,在Rest中,您必须为您的资源使用复数形式,即/users/{userId}而不是/user/{userId}

为了回答你的问题,我会使用第二个问题,使用查询参数,它为使用一个端点的其他用例提供了更大的灵活性和重用。

假设您想要获取所有用户,无论他们属于哪个群组,如果您使用第一个用户,则必须创建另一个端点,但如果您使用第二个端点,则只需使用/users/{userId}没有提供查询参数。

假设您想要获取的不只是一个而是多个群集的用户,您可以提供一个cluster个查询参数,其中多个ID用逗号分隔,但是,如果您选择第一个,则必须创建另一个端点。