在restfulapi中表示资源
我有一个调查响应数据库,我正试图构建一个RESTful API来公开这些数据。API应能够返回以下信息:在restfulapi中表示资源,rest,Rest,我有一个调查响应数据库,我正试图构建一个RESTful API来公开这些数据。API应能够返回以下信息: 现有调查 问题 答复 报告(每个调查问题每种类型答案的回答总和) 在这种情况下,我在确定资源的结构方面存在问题 对于调查、问题和回答,非常简单: GET /surveys GET /questions // filter by surveyId possible GET /responses // filter by questionId and SurveyId possible 将报告
GET /surveys
GET /questions // filter by surveyId possible
GET /responses // filter by questionId and SurveyId possible
将报告纳入这种结构的最佳方法是什么?我是否设置了单独的路线,例如:
GET /reports/responses-by-question?surveyId=1
还是将其添加为响应路径中的下一级?例如
GET /responses/by-question?surveyId=1
还是我完全弄错了,还有更好的方法?保持调查作为一等公民的身份,我会这样组织调查
/surveys
:获取所有调查/surveys//questions
:获取调查的问题/surveys//questions//answers
:获取调查问题的答案/surveys//reports
:获取调查报告获取
/surveys//reports?questionId=
如何使用surveys/1/reports获取调查的所有报告?我在考虑,但报告计算的是回答,而不是调查,因此对我来说似乎不符合逻辑。。。但也许我把这个复杂化了。我喜欢它,看起来很优雅。你知道在这种情况下如何确定一等公民的好指南吗?这更多的是关于你如何为你正在构建的服务设计你的域实体。例如,如果你正在设计一个订单管理系统,它很可能是一个订单
是一等公民。另外,这里有一段视频你可能会发现很有用: