Kotlin中Retrofit 2中的多个空白问题头



我有两个头,其中一个有2个空格,所以改造给出了一个错误,代码块如下:

@Headers(
"Authorization: Basic some-token",
"Content-Type: application/json"
)
@POST("client/getsession")
fun getSession(
@Body body: String
): Single<Session>

错误信息::HTTP 500 Internal Server Error That I get.

disposable.add(
oAPIService.getSession()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(object : DisposableSingleObserver<Session>()
{
override fun onSuccess(t: Session) {
session.value = t
sessionError.value = false
sessionLoading.value = false
println("ok")
observeSessionData()
}
override fun onError(e: Throwable) {
println("Not Worked   :  "+ e.localizedMessage )
sessionLoading.value = false
sessionError.value = true

}
})
)

在你使用标题的方式中,你也可以添加{},就像下面的示例一样。

public interface UserService {  
@Headers({
"Accept: application/vnd.yourapi.v1.full+json",
"User-Agent: Your-App-Name"
})
@GET("/tasks/{task_id}")
Call<Task> getTask(@Path("task_id") long taskId);
}

另外,请查看此文档,它提供了其他使用头的方法,它们可能适合您的代码:https://futurestud.io/tutorials/retrofit-add-custom-request-header

从服务器得到的HTTP 500是一个错误。在标题中使用空格并没有什么错。您应该检查服务器的实现和日志。

也因为它是一个帖子,你的服务器可能需要一个正文,你没有在你的代码中提供。这可能就是为什么它响应500

的原因。
oAPIService.getSession("a valid body")

最新更新