doRequest

open suspend override fun doRequest(client: HttpClient, server: Url, token: String, decoder: StringFormat): R(source)

使用此api发起一次请求,并得到预期中的结果。

Body序列化

参数 client 不强制要求必须安装 ContentNegotiation 插件, 如果未安装此插件且 API 的请求过程中存在 body,则内部会使用一个默认的序列化器 (不是 decoder) 进行一个与此插件 类似的 逻辑去寻找 body 的序列化信息。此时要求 API 的 body 必须支持 Kotlinx 的序列化。

Parameters

client

用于本次http请求的client。默认使用 QQGuildApi.DefaultHttpClient

server

请求目标服务器。See also: QQGuild.URLQQGuild.SANDBOX_URL

token

用于本次请求鉴权的token。

decoder

用于本次请求结果的反序列化器。不出意外的话应该是 Json 序列化器,默认使用 QQGuildApi.DefaultJsonDecoder

See also

Throws

see HttpClient.request, 可能会抛出任何ktor请求过程中的异常。

请求过程中出现了错误。