NowAPIService-Schnittstelle – Android
Die NowAPIService- Schnittstelle bietet die Möglichkeit, Anforderungen für eine angegebene ServiceNow REST-API auszuführen.
Hinweis:
Gastbenutzer funktionieren nur für die NowAPIService- Schnittstelle, wenn die REST-API, auf die zugegriffen wird, für Gastbenutzer konfiguriert ist.
| Name | Typ | Beschreibung |
|---|---|---|
| konfigurieren | NowServiceConfiguration | Servicekonfiguration, die dem Protokoll zugeordnet werden soll. |
NowAPIService – data(endpoint: NowAPIService.Endpoint, queryParams: QueryParams, headers: Headers, body: String)
Ruft die angegebene REST-API in der angegebenen Instanz ServiceNow auf.
| Name | Typ | Beschreibung |
|---|---|---|
| endpoint | NowAPIService.Endpunkt | Aufzurufender REST-Endpunkt. |
| queryParams | Abfrageparameter | Optional. Abfrageparameterobjekt, das die Abfrageparameter enthält, die im REST-Aufruf übergeben werden sollen. Standard: null |
| headers | Header | Optional. Headers-Objekt, das die Header enthält, die im REST-Aufruf übergeben werden sollen. Standard: null |
| body | Zeichenfolge | Optional. Objekt, das den Anforderungstext und den Inhaltstyp enthält, die an den REST-Aufruf übergeben werden sollen. Standard: null |
| Typ | Beschreibung |
|---|---|
| Rufen Sie<ByteArray> auf | Gibt Ergebnisse vom aufgerufenen REST-Endpunkt zurück. |
suspend fun loadCases(): List<CaseItem> = withContext(Dispatchers.IO) {
val apiService = nowServiceManager.getNowAPIService()
val result = runCatching {
val response = apiService.data(NowAPIService.Endpoint(
relativePath = CASES_API,
requestMethod = HttpMethod.GET,
requireAuth = true)
).execute()
val byteArray = response.body ?: throw Exception("Null Result")
val buffer = Buffer()
val reader = JsonReader.of(buffer.write(byteArray))
val listType = Types.newParameterizedType(
List::class.java,
CaseItem::class.java
)
val resultType = Types.newParameterizedType(
ResultResponse::class.java,
listType
)
val adapter = moshi.adapter<ResultResponse<List<CaseItem>>>(resultType)
adapter.fromJson(reader)
}
if (result.isSuccess) {
result.getOrNull()?.result ?: throw Exception("Cases not in response")
} else {
throw result.exceptionOrNull() ?: Exception("Error Cases")
}
}