Interface NowAPIService : Android
L’interface NowAPIService permet d’effectuer des demandes sur une API REST spécifiée ServiceNow .
Remarque :
Les utilisateurs invités ne fonctionnent pour l’interface NowAPIService que si l’API REST en cours d’accès est configurée pour les utilisateurs invités.
| Nom | Type | Description |
|---|---|---|
| configuration | Configuration Now ServiceConfiguration | Configuration du service à associer au protocole. |
NowAPIService : data(endpoint : NowAPIService.Endpoint, queryParams : QueryParams, headers : Headers, body : String)
Appelle l’API REST spécifiée sur l’instance spécifiée ServiceNow .
| Nom | Type | Description |
|---|---|---|
| point de terminaison | NowAPIService.Point de terminaison | Point de terminaison REST à appeler. |
| queryParams | QueryParams | Facultatif. Objet du paramètre de requête qui contient les paramètres de requête à transmettre dans l’appel REST. Valeur par défaut : null |
| en-têtes | En-têtes | Facultatif. Headers Objet contenant les en-têtes à transmettre dans l’appel REST. Valeur par défaut : null |
| body | Chaîne | Facultatif. Objet qui contient le corps de la demande et le type de contenu à transmettre dans l’appel REST. Valeur par défaut : null |
| Type | Description |
|---|---|
| Call<ByteArray> | Renvoyer les résultats à partir du point de terminaison REST appelé. |
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")
}
}