Flask:实现一个带有数组参数的HTTP GET



我正在实现一个包含/feed请求的HTTP REST API。该请求返回用户的新闻提要。

请求带有几个参数,包括userId,追随者列表,startTimemaxItems

在服务器端(Python和Flask)实现它的最简单方法是添加一个JSON有效负载,我可以从中读取参数。

唉,在GET请求中添加有效负载并不是一个好主意,而且许多客户端库都不支持。

我的选择:

  • 使/feed成为POST请求。这是丑陋的,因为POST不应该用于从服务器请求信息。
  • /feed调用拆分为/updateFollowers (POST)和/feed (GET)。这样会浪费时间,因为GET只能在POST调用之后进行。

两个选项似乎都不对。是否有任何标准的方法使GET类调用与一堆复杂的参数?

拆分/feed调用到/updatefollower (POST)和/feed (GET)。它会浪费时间,因为GET调用只能在POST调用.

REST并没有真正的规则,你可能已经意识到,但我想与你分享我的观点:在资源中像这样放置"请求类型动词"是相当丑陋的,所以我不会这样做。

创建/feed POST请求。它是丑陋的,因为POST不应该如此用于从服务器请求信息。

我明白你为什么觉得这很丑。然而,使用POST请求获取数据听起来是错误的,正如这个问题的第一个答案所述:

实现RESTful搜索的最佳方法是考虑搜索本身就是一种资源。然后你可以使用POST动词,因为你正在创建一个搜索。你不需要真的去创造一些东西在数据库中使用POST。

由于这与您正在做的类似,因此使用POST可能不是一个坏主意。我找不到更好的替代方法,所以你可能想这样实现它

相关内容

  • 没有找到相关文章

最新更新