我在 Web 服务中有一个 RESTful API,其中包含用户、帖子等资源。当我请求一个帖子列表(GET /posts)时,我想检索一个帖子数组,每个帖子只有有限的数据(即主题、作者姓名)。当我请求具体帖子 (GET /posts/42) 时,我想检索帖子对象字段的完整列表,包括大帖子正文、有关喜欢计数的附加信息、评论计数。我想有很多方法可以解决这个问题。
在我看来,最明显的三个是:
- 在每个请求上显式指定一个字段列表(
/posts?fields=subject,author_name
和/posts/42?fields=subject,body,createAt,author_name,comments_count,likes_count
,等等...)。 - 仅当字段列表与默认字段列表不同时,才显式指定字段列表。
- 如果所需的字段集与默认值不同,则指定应从(到)默认字段集排除(或包含)的字段列表。
我想为我的客户构建一个清晰有用的 API。我应该选择哪种方式?