我正在使用Slim框架为我的项目创建REST API。 WebApp本身是使用ReactJS开发的。
我对此有疑问。我在ReactJS App中的数组中存储了一组值。这些值是过滤器,用于从我的表中过滤数据。
我的表包含一个名为location的字段。在我的WebApp中,我有搜索过滤器,我可以添加多个位置,根据这些位置必须显示结果。我将这些过滤器存储在一个数组中。
我想知道如何将此数组传递给Rest API Route,以便我可以在REST API Framework中获取此数组。
我希望实现像
这样的东西/路由/位置/ [arrayOfValues]
答案 0 :(得分:1)
只有两种方法可以将数据传递到服务器 - 作为URL参数(用于POST,GET或其他任何方式)或在请求正文中(用于PUT或POST)。您是否也在编写处理API请求的代码?根据您对用例的描述,听起来GET将是最语义正确的动词,因此您应该使用URL params作为@BrianPutt建议。使用方括号是编码数组值的标准方法。地点如何定义?经度和纬度?如果是这样,你也可以只构建一个以逗号分隔的字符串,例如
/routes/location?q=12.3409,-40.0004,2.34004,120.0294
但是你的后端框架有可能内置支持解析那些URL参数,所以你应该只使用它。
/routes/location?q[]=12.3409,-40.0004&q[]=2.34004,120.0294
不这样做的唯一原因是如果你有大量的位置,在这种情况下你可能想要使用POST请求并构建某种JSON对象来放入正文。
另外:保持一致!如果你的其余API使用JSON,你也应该在这里使用它。