RESTful URL-基于资源模板创建资源

RESTful URL-基于资源模板创建资源,rest,http,templates,url,Rest,Http,Templates,Url,我正在开发一个RESTful API,我刚刚遇到了一个设计问题。 我查了一下,但找不到关于这个具体案例的任何信息 我的API用于购买门票,因此我有两种资源:ticketTemplates和ticketPurchases 首先创建票证模板(定义可购买票证的类型,包括其名称、持续时间和价格),当有人购买票证(=在db中添加票证采购行)时,它将始终基于票证模板id 已经为票证模板实施了一个路由:/ticketTemplates 现在,我正在实现一个路由,以便根据票证模板id购买票证,因此此购买的票证

我正在开发一个RESTful API,我刚刚遇到了一个设计问题。 我查了一下,但找不到关于这个具体案例的任何信息


我的API用于购买门票,因此我有两种资源:ticketTemplatesticketPurchases

首先创建票证模板(定义可购买票证的类型,包括其名称、持续时间和价格),当有人购买票证(=在db中添加票证采购行)时,它将始终基于票证模板id

已经为票证模板实施了一个路由:/ticketTemplates

现在,我正在实现一个路由,以便根据票证模板id购买票证,因此此购买的票证将继承模板名称、持续时间和价格

我想用(POST)/ticketTemplates/[templateId]/ticketPurchases来实现这一点

但由于我必须能够独立于其模板id检索所有ticketpurchaes(因此,通过而不是这样做:(GET)/ticketTemplates/[templateId]/ticketpurchaes),我看到的唯一解决方案是:

  • 创建:(POST)/ticketTemplates/[templateId]/ticketPurchases
  • 检索:(获取)/ticketPurchases

  • 创建:(POST)/ticketPurchases(并在请求正文中传递模板id)
  • 检索:(获取)/ticketPurchases
平静地说,哪一个是最好的? 如果URL与创建和检索资源的方式不同(如我的第一个主张),那么这可以吗


提前感谢您的帮助。

保持资源URL的完整性可能更有意义,它更有意义,也更便于开发人员遵循,而不是在其他资源上跌跌撞撞地寻找它应该去哪里

我会选择

创建:(POST)/ticketPurchases(并在请求正文中传递模板id)

检索:(获取)/ticketPurchases


与上一次相比,这是有道理的,但我不确定这是一个好的选择。谢谢你的回复!