在确定哪条路线更加RESTful时遇到一些麻烦。为了快速推广,我正在为抽奖应用程序构建一个API。最高级别是客户,接下来是抽奖,以下是提交。
我对于创建新的抽奖活动和提交的最佳路线感到困惑。
选项1
POST /sweepstakes [passing along client_id as a parameter]
选项2
POST /clients/:client_id/sweepstakes [using client id in route to create]
这是我所有路线的GIST。希望有人可以帮助我。 https://gist.github.com/4504221
答案 0 :(得分:1)
我不打算让REST URI代表层次结构。
/client/:client_id should return a list of the client's sweepstakes URIs (among other data.)
/sweepstakes/:sweepstakes_id will return a list of all submissions URIs for that sweepstakes id (among other data.)
/submission/:submission_id is exactly what you think.
这很简单,但我想不出让URI变得更复杂的原因。如果我错过了什么,请告诉我。
编辑:哦,你指的是创建一个资源:
我仍然使用上面的URI。
POST /client/
POST /sweepstakes/
POST /submission/
传递请求正文中所需的数据并在响应中返回id。使用PUT更新:
PUT /client/:client_id
等
答案 1 :(得分:0)
答案几乎与您将创建的资源的URI相关:
POST /
创建/:id
POST /sweepstakes/
创建/sweepstakes/:id
POST /clients/:id_a/sweepstakes/
创建/clients/:id_a/sweepstakes/:id_b