2

以下库之间有什么区别:

libraryDependencies += "com.typesafe.play" %% "play-ahc-ws-standalone" % "LATEST_VERSION"

libraryDependencies += "com.typesafe.play" %% "play-ahc-ws" % "LATEST_VERSION"

我只是想弄清楚哪个是正确的使用。我所做的是在一个单独的库中创建一个 Play 模块,我想将它注入到一个 Play 应用程序中。但是当我使用上面列出的第一个库时,它只提供了一个StandaloneWSClient. 当我将其注入 Play 应用程序时,它无法将实现绑定到它。但是当我切换第二个库时,它提供了一个WSClientPlay 应用程序可以找到要绑定的实现,因为它已经有一个可以在 build.sbt 定义中指定的实现,即ws.

4

1 回答 1

2

在 Play 项目中,您应该使用play-ahc-ws通常像这样添加的项目

libraryDependencies += ws

ws值来自 Play 的 sbt 插件

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.1")

另一方面,play-ahc-ws-standalone它本身就是一个 HTTP 客户端,可以在 Play 项目之外使用,例如,如何使用,scalaj-http或者requests-scala根本不知道 Play 的 HTTP 客户端。

Play 2.6 Migration Guide记录了差异。

于 2020-05-25T21:02:38.490 回答