我有一个问题, 我有以下改装发布请求
@POST("/user")
fun saveUser(@Body User)
User类
data class User(val name: String? =null, val age:Int?=null)
如果我这样称呼
api.saveUser(User(null, 32))
然后,URL请求将是什么样子 这:
https://dummy.com/users?name=null&age=32
或:
https://dummy.com/users?name=&age=32
或:
https://dummy.com/users?age=32
非常感谢。而且,如果您能提供一些很好的证据。
答案 0 :(得分:1)
它将完全删除查询参数,在您的情况下为:
https://dummy.com/users?age=32
我正在使用HttpLoggingInterceptor()
记录请求以检查网址:
val builder = SslClientFactory.okHttpClientBuilder
if (BuildConfig.DEBUG) {
val logging = HttpLoggingInterceptor()
logging.level = HttpLoggingInterceptor.Level.BODY
builder.addInterceptor(logging)
}
return builder.build()
答案 1 :(得分:0)
嗯,我认为它没有被添加到查询URL中。 您将用户添加到请求的正文中。 因此它将在主体中发送用户的JsonObject,如下所示:
{
"name": null,
"age" : 32
}
如果我是对的。
它将仅向https://dummy.com/user发送发帖请求<-不添加查询参数。正文包含所有信息。