8

我刚刚开始学习 Clojure,并且在过去几年中一直在努力应对 API 的变化。特别是在 1.2 中,contrib 中有一个 http-agent 函数,它允许非常简单的 HTTP 请求:

 (http-agent "http..." :method "POST" :body "foo=1") 

此功能已被删除,现在您似乎应该使用clojure.java.io或第三方解决方案,如http-kitclj-http

我真的很惊讶,因为它java.io似乎更低级别并且失去了简单性或 http-agent 并且发出 http 请求似乎应该是核心库集中的东西(我意识到这是非常主观的)。

移除 http-agent 的理由是什么?它不符合 Clojure 的核心理念吗?对于用于基本 HTTP 请求的最佳库有哪些建议?

4

1 回答 1

10

我无法就旧贡献的任何特定部分未能进入新贡献的原因做出权威性陈述,但总的来说,当足够多的人感兴趣时,事情就会被转移,包括一些有能力并愿意维护新库的人。也许在这种情况下,根本就没有足够的兴趣。

此外,在多个库之上构建 Clojure 项目非常简单,并且尚不清楚核心库集中的 http 客户端库或 contrib 是否会使开发人员比他们更简单和/或更容易现在,在更广泛的生态系统中提供了极好的选择。

至于这些优秀选项的特定示例,我会向您指出clj-httphttp.async.client(按字母顺序;哪个合适取决于您是否会从异步触发请求中受益)。

于 2013-08-08T10:55:06.353 回答