public static S3SignRequest fromJson(String json) {
    return JsonUtil.parse(json, S3SignRequestParser::fromJson);
  }
@Test
  public void invalidMethod() {
    assertThatThrownBy(
            () ->
                S3SignRequestParser.fromJson(
                    "{\n"
                        + "  \"region\" : \"us-west-2\",\n"
                        + "  \"method\" : 23,\n"
                        + "  \"uri\" : \"http://localhost:49208/iceberg-signer-test\",\n"
                        + "  \"headers\" : {}}\n"
                        + "}"))
        .isInstanceOf(IllegalArgumentException.class)
        .hasMessage("Cannot parse to a string value: method: 23");
  }