URL中的Rest API链接参数[关闭]

问题描述 投票:0回答:1

我目前正在设计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的数据更容易。 我应该使用哪一个,还是应该“混合”它们? (一个用于GET,一个用于POST

rest restful-url
1个回答
1
投票

首先,您的REST基本端点应如下所示:

  • [POST]添加组/groups
  • [获取]获得所有组/groups
  • [GET]按id` / groups / {id}获取/获取一个组
  • [PUT]通过id` / groups / {id}更新/修改组
  • [删除]按ID删除组`/ groups / {id}

  • [POST]添加事件/events
  • [获取]获取所有活动/events
  • [GET]通过id` / events / {id}获取/获取事件
  • [PUT]通过id` / events / {id}更新/修改事件
  • [删除]按id` / events / {id}删除事件

所以现在你想要通过id获取特定组的事件,就像你在这里尝试/groups/group/{groupId}/events/event/{eventId}一样吗?

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

  • /events?group_id={groupId}就像这样你可以实现。
  • 和vs-varsa一样,你可以通过这个/groups?event_id={event_Id}获取所有具有特定事件的组
  • 现在,如果您想获取特定的组和特定事件,那么您可以通过/groups/{id}?event={eventId}执行上面的Group的REST的第3个路由或端点,并且对于vice-varsa也是如此。
© www.soinside.com 2019 - 2024. All rights reserved.