如何在REST API中公开枚举值

时间:2014-09-17 13:26:30

标签: api rest enums restful-architecture

在使用API​​的移动性环境中,高级研究提出了必须由服务器返回的几个动态过滤器。 (我们不想与服务器进行太多交换以初始化我们的过滤器)

在REST api中,如何为过滤器搜索公开可能值的枚举?

感谢您的建议/想法?

1 个答案:

答案 0 :(得分:0)

我最初的想法是将搜索视为普通资源。在面向对象的透视图中,搜索可以具有可用于过滤的字段集合。这些字段可以是数字,布尔值,基于字符串或其他任何字段。

所以,如果我理解你的问题,那么我建议这样做:

GET /search_fields

如果你的API有多个可以执行的类型搜索,那么只要它是唯一的,就可以通过id或者他们的名字来识别它们,如下所示:

GET /searches/{search_id}/fields

会返回搜索字段的集合,如下所示:

[{
  name: 'Field1',
  type: 'boolean'
},
{
  name: 'Field2',
  type: 'number'
},
{
  name: 'Field3',
  type: 'string'
}]

或者如果你的字段真的只是简单的枚举,那么:

[{
  name: 'Field1',
  id: 1
},
{
  name: 'Field2',
  id: 2
},
{
  name: 'Field3',
  id: 3
}]

这是我的建议。请记住,没有一种方法可以公开API。