NowAPIService-Schnittstelle – Android
Die NowAPIService Die Schnittstelle bietet die Möglichkeit, Anforderungen für einen angegebenen auszuführen ServiceNow REST-API.
Hinweis:
Gastanwender arbeiten nur für NowAPIService Schnittstelle, wenn die aufgerufene REST-API für Gastanwender konfiguriert ist.
| Name | Typ | Beschreibung |
|---|---|---|
| konfigurieren | NowServiceConfiguration | Servicekonfiguration, die dem Protokoll zugeordnet werden soll. |
NowAPIService – Data(Endpunkt: NowAPIService.Endpoint, queryParams: QueryParams, Header: Header, Textkörper: Zeichenfolge)
Ruft die angegebene REST-API für die angegebene auf ServiceNow Instanz.
| 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. Header-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, der an den REST-Aufruf übergeben werden soll. Standard: Null |
| Typ | Beschreibung |
|---|---|
| Rufen Sie An < ByteArray > | Ergebnisse vom aufgerufenen REST-Endpunkt zurückgeben. |
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")
}
}