TencentCacheableApi

sealed class TencentCacheableApi<R> : TencentApi<R>

支持结果缓存的 TencentApi 实现, 会通过一定的策略对目标 TencentApi 的结果进行缓存,并在 doRequest 中进行获取并跳过请求环节。

Author

ForteScarlet

Types

Link copied to clipboard
sealed class CacheType

缓存模式。

Functions

Link copied to clipboard
open suspend fun doRequest(client: HttpClient, server: Url, token: String, decoder: StringFormat = Json): R

使用此api发起一次请求,并得到预期中的结果。如果返回了代表错误的响应值

Link copied to clipboard
open fun post(resp: R)

Do something after resp.

Link copied to clipboard
abstract fun route(builder: RouteInfoBuilder)

此请求对应的api路由路径以及路径参数。 例如:/guild/list

Properties

Link copied to clipboard
abstract val body: Any?

此次请求所发送的数据。为null则代表没有参数。

Link copied to clipboard
abstract val cachedValue: R?

内部存在的缓存结果。如果为null则代表缓存不存在或已失效。

Link copied to clipboard
abstract val method: HttpMethod

此api请求方式

Link copied to clipboard
abstract val resultDeserializer: DeserializationStrategy<out R>

得到响应值的反序列化器.

Extensions

Link copied to clipboard
suspend fun <R> TencentApi<R>.request(client: HttpClient, server: Url, token: String, decoder: StringFormat = defaultJson): R

通过提供的参数,对此api进行请求并得到最终结果。