小编Gui*_*ume的帖子

如何在Play Json中使用Joda DateTime

我正在开发一个Play应用程序,我正在尝试将Joda DateTime对象用于我的case类.

package model

import org.joda.time.DateTime
import play.api.libs.json._

case class User(name: String, created: DateTime)

object User {
  implicit val yourJodaDateReads = Reads.jodaDateReads("yyyy-MM-dd'T'HH:mm:ss.SSSZ")
  implicit val yourJodaDateWrites = Writes.jodaDateWrites("yyyy-MM-dd'T'HH:mm:ss.SSSZ'")
  implicit val userFormat = Json.format[User]

  def main(args: Array[String]) {

  val value = Json.parse("{ \"name\" : \"hello\" , \"created\" : \"2015-07-16T20:32:04.046+02:00\" }")

  println(Json.toJson(new User("user", new DateTime())))
  println(Json.fromJson(value))
 }
}
Run Code Online (Sandbox Code Playgroud)

基于此解决方案,我收到此错误:

Error:(18, -1) Play 2 Compiler: 
 /activator-1.3.2/notifier-app/app/model/Test.scala:18: ambiguous implicit    values:
 both value yourJodaDateReads in object User of type => play.api.libs.json.Reads[org.joda.time.DateTime]
    and value userFormat …
Run Code Online (Sandbox Code Playgroud)

json scala jodatime playframework-2.0

12
推荐指数
4
解决办法
1万
查看次数

泽西:@PathParam用逗号列表<MyObject>

我想用这种模式调用我的Webservice:

/resource/1,2,3
Run Code Online (Sandbox Code Playgroud)

在我的类中,我想将我的参数绑定到对象列表

@Path("/resource")
public class AppWS {

    @GET
    @Path("/{params}")
    public Response get(@PathParam("params") List<MyObject> params) {
        return Response.status(200).entity("output").build();
    }
}
Run Code Online (Sandbox Code Playgroud)

使用简单的对象:

public class MyObject {
    Integer value;
    public MyObject(Integer value) {
        this.value = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

nb:如果有可能我不想创建一个扩展List的MyObjectList(并且有一个分割我的字符串的构造函数)

我该怎么办?

java jax-rs jersey path-parameter jersey-2.0

8
推荐指数
1
解决办法
3269
查看次数

phantom-dsl_2.11错误隐式会话

我正在尝试使用幻像scala驱动程序连接到cassandra数据库(使用scala 2.11.2)

我在他们的博客上关注了这篇文章:http: //blog.websudos.com/2014/08/a-series-on-cassandra-part-1-getting-rid-of-the-sql-mentality/

(注意github上只有2.11中编译的幻像-dsl jar,我不知道是否有问题?)

我只有一个依赖幻像的依赖

    <dependency>
        <groupId>com.websudos</groupId>
        <artifactId>phantom-dsl_2.11</artifactId>
        <version>1.2.7</version>
    </dependency>
    <dependency>
        <groupId>com.datastax.cassandra</groupId>
        <artifactId>cassandra-driver-core</artifactId>
        <version>2.0.1</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

当我编译我的项目时,我收到有关会话的错误:

Main.scala:32: error: could not find implicit value for parameter session: com.datastax.driver.core.Session
[ERROR]       select.where(_.firstName eqs firstName).limit(5000).fetch()
[ERROR]                                                                ^
[ERROR] one error found
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

在他们的github上,有一个会话示例:

  implicit val session = SomeCassandraClient.session;
Run Code Online (Sandbox Code Playgroud)

但我不明白SomeCassandraClient的位置?

有什么建议?

scala cassandra maven phantom-dsl

5
推荐指数
1
解决办法
888
查看次数