Saya mencoba membuat URI untuk mengambil catatan delta dari API ServiceNow. Saat menjalankan program saya, saya membuat filter dan menggabungkannya dengan uri asli dan dengan menggunakan metode get dari RestAssured, saya mengekstrak hasilnya. Meskipun langkah-langkah di atas berfungsi untuk ekstrak penuh tetapi entah bagaimana ketika saya mencoba membuat URI dengan kondisi filter, saya mendapatkan kesalahan karakter ilegal.
Saya telah menulis fungsi berikut, untuk mendapatkan data dari 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 yang dihasilkan oleh fungsi di atas //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;
}
Dalam metode utama, saya memanggil getURIIncrementalExtract diikuti dengan getResponseByPath.
Saya mendapatkan pengecualian sintaksis ilegal setiap kali saya mencoba menambahkan filter sysparm_query. Jika saya menghapus filter yaitu "sysparm_query=col_updated_on>=2017-09-30", itu berfungsi dengan baik.
Saya berharap untuk membuat dan menggunakan URI untuk data yang difilter juga. Saya pikir cara saya membuat URI bisa saja salah. Bisakah seseorang berbagi pendekatan yang tepat. Tolong beri tahu saya jika informasi lebih lanjut diperlukan.
[
dan]
di nama host ... - person Stephen C   schedule 07.10.2019