public static S3SignResponse fromJson(String json) {
    return JsonUtil.parse(json, S3SignResponseParser::fromJson);
  }
@Test
  public void invalidUri() {
    assertThatThrownBy(() -> S3SignResponseParser.fromJson("{\"uri\" : 45, \"headers\" : {}}}"))
        .isInstanceOf(IllegalArgumentException.class)
        .hasMessage("Cannot parse to a string value: uri: 45");
  }