试图了解要使用哪个 Play 库
Trying To Understand Which Play Library To Use
以下库有什么区别:
libraryDependencies += "com.typesafe.play" %% "play-ahc-ws-standalone" % "LATEST_VERSION"
和
libraryDependencies += "com.typesafe.play" %% "play-ahc-ws" % "LATEST_VERSION"
我只是想弄清楚哪个是正确的。我所做的是在一个单独的库中创建一个 Play 模块,我想将它注入到一个 Play 应用程序中。但是当我使用上面列出的第一个库时,它只提供了一个StandaloneWSClient
。当我将其注入 Play 应用程序时,它无法将实现绑定到它。但是当我切换第二个库时,它提供了一个 WSClient
,Play 应用程序可以找到一个实现来绑定,因为它已经有一个你可以在 build.sbt 定义中指定的实现,即 ws
.
在 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 记录。
以下库有什么区别:
libraryDependencies += "com.typesafe.play" %% "play-ahc-ws-standalone" % "LATEST_VERSION"
和
libraryDependencies += "com.typesafe.play" %% "play-ahc-ws" % "LATEST_VERSION"
我只是想弄清楚哪个是正确的。我所做的是在一个单独的库中创建一个 Play 模块,我想将它注入到一个 Play 应用程序中。但是当我使用上面列出的第一个库时,它只提供了一个StandaloneWSClient
。当我将其注入 Play 应用程序时,它无法将实现绑定到它。但是当我切换第二个库时,它提供了一个 WSClient
,Play 应用程序可以找到一个实现来绑定,因为它已经有一个你可以在 build.sbt 定义中指定的实现,即 ws
.
在 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 记录。