J'ai trouvé une solution. J'ai fait une erreur à un autre endroit. J'ai essayé d'envoyer une requête POST JSON au serveur avec Retrofit et j'ai encodé l'objet en JSON-string avant de le mettre dans @Body :
interface AuthService {
@POST("requestPinCode")
fun requestPinCode(@Body body: String): Observable<ApiResult>
}
...
data class RequestData(val phone: String)
...
val requestJson = Gson().toJson(RequestData("79008007060"))
authService.requestPinCode(requestJson)
Mais la bonne façon de procéder est de mettre l'objet non encodé dans @Body.
interface AuthService {
@POST("requestPinCode")
fun requestPinCode(@Body body: RequestData): Observable<ApiResult>
}
...
data class RequestData(val phone: String)
...
authService.requestPinCode(RequestData("79008007060"))