URL 中的剩余 API 个链接参数

Rest API chained parameters in URL

我目前正在设计 REST API。我有一个 Group 实体和一个 Event 实体。一个Event正好属于一个Group,但是一个Group可以有多个Events.

Groups 通过

访问
/groups/group/{groupId}

我不确定 Event 端点放在哪里:

/groups/group/{groupId}/events/event/{eventId}

或者只是

/events/event/{eventId}

使用上层方法将新的 Events 发布到 Group 中更容易,而使用下层方法只获取一个 Event 的数据更容易。
我应该使用它们中的哪一个,或者我什至应该 "mix" 它们? (一个用于 GET,一个用于 POST

首先你的 REST 基本端点应该是这样的:

  • [POST] 添加组 /groups
  • [GET] 获取所有组 /groups
  • [GET] fetch/get 一组 ID `/groups/{id}
  • [PUT]update/modify 一组 ID `/groups/{id}
  • [DELETE] 按 id `/groups/{id} 删除群组

  • [POST] 添加事件 /events
  • [GET] 获取所有事件 /events
  • [GET] fetch/get id `/events/{id} 的事件
  • [PUT]update/modify id `/events/{id} 的事件
  • [DELETE] 通过 id `/events/{id} 删除事件

所以现在来吧,你想通过 id 获取特定组的事件,就像你在此处尝试的那样 /groups/group/{groupId}/events/event/{eventId} 对吗?

您可以像这样获取一个组的所有事件:

  • /events?group_id={groupId}像这里这样就可以实现了。
  • 和 vice-varsa 一样,您可以通过此 /groups?event_id={event_Id}
  • 获取所有具有特定事件的组
  • 现在,如果你想获取特定的组和特定的事件,那么你可以通过 /groups/{id}?event={eventId} 上面组的 REST 的第三条路线或端点来完成,同样适用于 vice-varsa。