将一组值传递给Rest API Route

问题描述 投票:0回答:1

我正在使用Slim框架为我的项目创建REST API。 WebApp本身是使用ReactJS开发的。

我对此有疑问。我在ReactJS App中的数组中存储了一组值。这些值是过滤器,用于从我的表中过滤数据。

我的表包含一个名为location的字段。在我的WebApp中,我有搜索过滤器,我可以添加多个位置,根据这些位置必须显示结果。我将这些过滤器存储在一个数组中。

我想知道如何将此数组传递给Rest API Route,以便我可以在REST API Framework中获取此数组。

我希望实现类似的目标

/路由/位置/ [arrayOfValues]

php reactjs rest react-redux slim
1个回答
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,您也应该在这里使用它。

© www.soinside.com 2019 - 2024. All rights reserved.