有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

创建URI时出现java非法语法错误

我试图生成一个URI,用于从ServiceNow API获取增量记录。在执行程序时,我创建了一个过滤器,并将其与原始uri连接起来,然后使用restasured的get方法提取结果。虽然上面的步骤可以实现完全提取,但当我试图生成带有过滤条件的URI时,我得到了一个非法字符错误

我编写了以下函数,用于从API获取数据:-

public static void getURIIncrementalExtract(String tblName, String params) {
        RestAssured.baseURI = null;
        String params = ""; //For stackoverflow
        String displayValueParam = "sysparm_display_value=true&";
        String dateParams = "";
        dateParams = "sysparm_query=col_updated_on>=2017-09-30"; //+     fromDate
        String uri = "https://[servicenowAPIadd].com/api/now/table/" +     tblName + "?" + displayValueParam + params + dateParams;
        System.out.println(uri); //URI generated is working correctly in     postman.
        RestAssured.baseURI = uri;
    }

//上述函数生成的uri //https://[servicenowAPIadd].com/api/now/table/[DBtablename]?sysparm_display_value=true&sysparm_query=col_updated_on>=2017-09-30

public static Response getResponseByPath() {
        Response response = null;
        try {
            response = RestAssured.given()
                    .when()
                    .auth()
                    .basic(username, password)
                    .get(RestAssured.baseURI);
        } catch (Exception e) {
            e.printStackTrace();
            log.error("Exception in getResponseByPath:-" + e.toString());
        }
        return response;
    }    

在main方法中,我调用getURIIncrementalExtract,后跟getResponseByPath

每当我尝试添加sysparm_查询过滤器时,就会出现非法语法异常。 如果我删除过滤器,即“sysparm_query=col_updated_on>;=2017-09-30”,它可以正常工作

我希望生成并使用URI来过滤数据。我认为我生成URI的方式可能是错误的。有人能分享一个正确的方法吗。 如果需要更多信息,请告诉我


共 (0) 个答案