@Body
示例代码
@Body注解可用于设置请求体的序列化方式。通过format参数,可以指定使用的SerializationFormat,从而生成对应的ContentType类型的请求体可选的
SerializationFormat类型及对应的ContentType如下:SerializationFormat.JSON对应ContentType.Application.Json默认值SerializationFormat.XML对应ContentType.Application.XmlSerializationFormat.CBOR对应ContentType.Application.CborSerializationFormat.PROTO_BUF对应ContentType.Application.ProtoBuf
在这里使用
@Body注解,这里为format设置了SerializationFormat.XML值
@BearerAuth
@POST(url = "user/detail/update")
suspend fun updateUserDetail(
@Body(format = SerializationFormat.XML) data: UserDetail
): Boolean
生成的实现
在实现中这里为
contentType()函数设置了ContentType.Application.Xml值,对应注解中设置的SerializationFormat.XML
override suspend fun updateUserDetail(`data`: UserDetail): Boolean {
val token = this.config.token?.invoke()
val response = this.config.httpClient.post {
this.url("user/detail/update")
if (token != null) {
this.bearerAuth(token)
}
this.contentType(ContentType.Application.Xml)
this.setBody(`data`)
}
return response.body()
}
Last modified: 30 July 2025