小编rai*_*dev的帖子

Gson是否必须使用默认的no-args构造函数?

Gson用户指南声明我们应该为任何类定义默认的no-args构造函数以正确使用Gson.更重要的是,在Gson 类的javadoc中,InstanceCreator如果我们尝试反序列化缺少默认构造函数的类的实例,那么将抛出异常,我们应该InstanceCreator在这种情况下使用.但是,我尝试使用缺少默认构造函数的类来测试使用Gson,并且序列化和反序列化工作都没有任何问题.

这是deserializaiton的一段代码.没有非args构造函数的类:

public class Mushroom {
    private String name;
    private double diameter;

    public Mushroom(String name, double diameter) {
        this.name = name;
        this.diameter = diameter;
    }

    //equals(), hashCode(), etc.
}
Run Code Online (Sandbox Code Playgroud)

和测试:

@Test
public void deserializeMushroom() {
    assertEquals(
            new Mushroom("Fly agaric", 4.0),
            new Gson().fromJson(
                    "{name:\"Fly agaric\", diameter:4.0}", Mushroom.class));
}
Run Code Online (Sandbox Code Playgroud)

哪个工作正常.

所以我的问题是:我是否真的可以使用Gson而不需要默认构造函数,或者在任何情况下它都不起作用?

java json default-constructor gson

51
推荐指数
1
解决办法
2万
查看次数

浏览器中的HTTP PATCH支持

我正在为我的应用程序设计REST端点,我需要为一些端点使用PATCH.所有支持HTTP/1.1的浏览器都能支持PATCH吗?

rest http-patch

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

附加调试器(使用eclipse)来播放框架失败

我正在使用Scala在eclipse IDE的Play框架上编写一个Web.我正在尝试调试我的应用程序,但命中调试附加失败.我尝试使用Java而不是Scala进行切换,但是我得到了同样的错误.这就是我的工作.

  1. 创建一个项目并运行 play clean compile
  2. play debug run
  3. 在Eclipse中,设置'debug configration' - >远程java应用程序 - > host:localhost,port:9999和common:debug
  4. 在浏览器中键入URL并输入:localhost:9999.然后在play framework命令行中出现以下故障:Debugger无法附加:握手失败 - 收到>GET / HTTP/1.1< - expected >JDWP-Handshake<

知道什么是错的吗?

java eclipse debugging playframework playframework-2.0

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

如何依靠Bazel的测试Maven jar?

除了主jar之外,一些Maven工件还提供了一个单独的测试jar,它包含有助于编写使用依赖项的测试的类.kafka-streams就是一个例子.在Gradle中,可以依赖于这样的jar classifier: "test"(如果测试jar有-test.jar后缀)和Maven那样<type>test-jar</type>.如何将测试jar添加到Bazel工作区?

java dependency-management bazel

2
推荐指数
1
解决办法
329
查看次数