将一组值传递到 Rest API 路由中
Passing an array of values into Rest API Route
我正在使用 Slim 框架为我的项目创建 REST API。 WebApp 本身是使用 ReactJS 开发的。
我对此有疑问。我有一组值存储在我的 ReactJS 应用程序的数组中。这些值是过滤器,用于过滤来自我的 table.
的数据
我的 table 包含一个名为位置的字段。在我的 WebApp 中,我有搜索过滤器,我可以根据必须显示的结果添加多个位置。我将这些过滤器存储在一个数组中。
我想知道如何将此数组传递给 Rest API 路由,以便我可以在我的 REST API 框架中获取此数组。
我想实现类似
的目标
/routes/location/[arrayOfValues]
只有两种方法可以将数据传递到服务器 - 作为 URL 参数(对于 POST、GET 或其他任何方式)或在请求正文中(对于 PUT 或 POST).您是否也在编写代码来处理 API 请求?根据您对用例的描述,听起来 GET 是语义上最正确的动词,因此您应该按照@BrianPutt 的建议使用 URL 参数。使用方括号是编码数组值的标准方法。位置是如何定义的? Longitude/latitude?如果是这样,您也可以构建一个 comma-separated 字符串,例如
/routes/location?q=12.3409,-40.0004,2.34004,120.0294
但很可能您的后端框架 built-in 支持解析那些 URL 参数,因此您应该只使用它。
/routes/location?q[]=12.3409,-40.0004&q[]=2.34004,120.0294
不这样做的唯一原因是如果你有大量的位置,在这种情况下你可能想要使用 POST 请求并构建某种 JSON 对象来放置在体内。
另外:保持一致!如果你的 API 的其余部分使用 JSON,你也应该在这里使用它。
我正在使用 Slim 框架为我的项目创建 REST API。 WebApp 本身是使用 ReactJS 开发的。
我对此有疑问。我有一组值存储在我的 ReactJS 应用程序的数组中。这些值是过滤器,用于过滤来自我的 table.
的数据我的 table 包含一个名为位置的字段。在我的 WebApp 中,我有搜索过滤器,我可以根据必须显示的结果添加多个位置。我将这些过滤器存储在一个数组中。
我想知道如何将此数组传递给 Rest API 路由,以便我可以在我的 REST API 框架中获取此数组。
我想实现类似
的目标/routes/location/[arrayOfValues]
只有两种方法可以将数据传递到服务器 - 作为 URL 参数(对于 POST、GET 或其他任何方式)或在请求正文中(对于 PUT 或 POST).您是否也在编写代码来处理 API 请求?根据您对用例的描述,听起来 GET 是语义上最正确的动词,因此您应该按照@BrianPutt 的建议使用 URL 参数。使用方括号是编码数组值的标准方法。位置是如何定义的? Longitude/latitude?如果是这样,您也可以构建一个 comma-separated 字符串,例如
/routes/location?q=12.3409,-40.0004,2.34004,120.0294
但很可能您的后端框架 built-in 支持解析那些 URL 参数,因此您应该只使用它。
/routes/location?q[]=12.3409,-40.0004&q[]=2.34004,120.0294
不这样做的唯一原因是如果你有大量的位置,在这种情况下你可能想要使用 POST 请求并构建某种 JSON 对象来放置在体内。
另外:保持一致!如果你的 API 的其余部分使用 JSON,你也应该在这里使用它。