Я пытаюсь создать URI для получения дельта-записей из ServiceNow API. При выполнении моей программы я создаю фильтр и объединяю его с исходным uri, а с помощью метода get RestAssured извлекаю результаты. Хотя приведенные выше шаги работают для полного извлечения, но каким-то образом, когда я пытаюсь создать 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;
}
В основном методе я вызываю getURIIncrementalExtract, за которым следует getResponseByPath.
Я получаю недопустимое синтаксическое исключение всякий раз, когда пытаюсь добавить фильтры sysparm_query. Если я удалю фильтр, то есть «sysparm_query=col_updated_on>=2017-09-30», он будет работать нормально.
Я также ожидаю генерировать и использовать URI для отфильтрованных данных. Я думаю, что то, как я генерирую URI, может быть неправильным. Может кто-нибудь поделиться правильным подходом, пожалуйста. Пожалуйста, дайте мне знать, если потребуется дополнительная информация.
[
и]
в имени хоста... - person Stephen C   schedule 07.10.2019