寻找通过REST检索特定属性的推荐设计模式

时间:2012-03-14 14:12:08

标签: rest

考虑http://server/noun.json?noun_id=<integer>。如果名词有100个属性,我想要全部或部分检索怎么办?我在考虑像

这样的东西
// a canned set of attributes
http://server/noun.json?noun_id=<integer>

// all attributes
http://server/noun.json?noun_id=<integer>?columns=all

// specified attributes
http://server/noun.json?noun_id=<integer>?columns=[col1,col3,col4,col7]

// to help make a decision, a "describe" returns a list of attributes
http://server/noun.json?describe=?

建议?

1 个答案:

答案 0 :(得分:0)

我认为你的第三选择是正确的。以下是检索报告的生产API示例,并请求通过URL参数按照多个条件过滤报告的结果。

https://demos.nubic.northwestern.edu/psc/api/v1/docs#d2e2591

API调用有很多选项:

/reports/scheduled-activities?study&site&state&activity-type&label&start-date&end-date&start-ideal-date&end-ideal-date&responsible-user&person-id

允许运行reports scheduled-activities(计划活动只是日历上显示的项目),并可选择按指定条件过滤结果。指定过滤条件只会在系统中返回所有 scheduled-activities

例如,如果我想要一个“Joe Smith”在网站NU安排的所有内容的列表,并假设Joe的人员ID为1234,则API调用可能看起来像像:

/reports/scheduled-activities?site=NU&person-id=1234