如何构建REST样式中具有多个参数的请求的URL?

时间:2017-12-13 14:45:44

标签: rest web-services restful-url

我遇到以下问题:我必须开发一个尽可能接近 RESTfull 标准的API。

此API与检索有关营养信息的一些消息并采用许多参数(用于执行查询)相关。这些是我必须提供给我的API的参数,用于执行查询:

  • localization_id
  • crop_id
  • process_phase_id
  • process_phase_action_id
  • user_type_id
  • urgency_id
  • provided_by_id
  • cleared_by_id

因此,正如您所看到的,将所有这些参数放在单个URL路径中是非常不可能的。

我认为主要参数 localization_id ,第二个更重要的参数是 crop_id (也是从逻辑角度来看)作物是指由 localization_id 标识的国家/地区。

所以我想创建一个像:

这样的网址
http://XXX.YYY.ZZZ.AAAA/enutrifood/localization_id/crop_id/messages

其中 enutrifood 是我正在呼叫的服务的名称(提供营养信息的服务),然后我指定国家(通过 localization_id crop_id 在这个国家.Finnaly我指定我想要所有消息的列表。(例如:塞内加尔Maize的所有消息)。另一个参数可以作为查询参数传递,做类似的事情这样:

http://XXX.YYY.ZZZ.AAAA/enutrifood/localization_id/crop_id/messages?process_phase_id=vale&process_phase_action_id=value&user_type_id=value&urgency_id=value&provided_by_id=value&cleared_by_id=value

可以被认为是一个体面的REST妥协来处理这种类型的请求吗?

0 个答案:

没有答案