我刚刚开始学习Clojure,并且在过去的几年中一直在努力应对API的更改。特别是在1.2中,contrib中有一个http-agent函数,它允许非常简单的HTTP请求:
(http-agent "http..." :method "POST" :body "foo=1")
该功能已被删除,似乎现在您应该使用clojure.java.io或第三方解决方案,例如http-kit或clj-http。
我真的很惊讶,因为它java.io
看起来很底层,并且失去了简单性或http-agent,发出http请求似乎应该放在核心库集中(我意识到这是非常主观的)。
删除http-agent的理由是什么?它不符合Clojure的核心哲学吗?对于用于基本HTTP请求的最佳库,有哪些建议?
对于旧的contrib的任何特定部分未能加入新的contrib的原因,我无法做出权威性的陈述,但是总的来说,当有足够多的人感兴趣时,事情就转移了,包括一些有能力并愿意维护新库的人。也许在这种情况下,根本没有足够的兴趣。
此外,在多个库之上构建Clojure项目非常简单,而且不清楚核心库或contrib组中是否存在http客户端库是否会使开发人员比他们更容易和/或更容易现在,在更广泛的生态系统中提供了出色的选择。
对于此类出色选项的特定示例,我将带您指向clj-http和http.async.client(按字母顺序;哪种合适取决于您是否会从异步发出请求中受益)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句