Свежее в Котлине: отправка данных в Body в модифицированном котлине - PullRequest
0 голосов
/ 10 января 2019

Я использую модификацию для вызова API, мне нужно отправить данные в Body, как мы отправляем в Java @Body, но не знаю, как анализировать данные ...

 {
 "appType": "EXTERNAL",
 "appDetails":{
   "os": "MAC_OSX",
   "osVersion": "1.2",
   "appVersion": "1.0",
   "deviceFamily": "MOBILE",
   "ipAddress": "192.168.5.2"
 },
 "consumerSections":[
   "Support",
   "English",
   "other"
 ],
 "engagementAttributes": [
   {
     "type": "personal",
     "personal": {
       "contacts": [{"email":"test.com","phone":"12345678"},{"email":"test2.co.il","phone":"98765430"}],
       "age": {
         "age":30.0,
         "year":1985,
         "month":7,
         "day":22
       },
       "firstname": "test",
       "lastname": "test2",
       "gender": "FEMALE",
       "company": "liveperson"
     }
   }
 ]
}

в вызове API, как я могу его проанализировать и отправить данные на сервер. Пожалуйста, расскажите ....

1 Ответ

0 голосов
/ 10 января 2019

Если вам нужно отправить простой JSON, вы можете сделать:

@Headers("Content-Type: application/json")
@POST("login")
fun getUser(@Body body: String) : Call<User>

Если вы хотите автоматически привести класс данных kotlin, добавьте

compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'

А затем просто установите свой объект с помощью @Body annot.

@Headers("Content-Type: application/json")
@POST("login")
fun getUser(@Body body: YourCustomDataObject) : Call<User>

Вот пример того, как соединить все ваши retrofit2 и сервисный интерфейс вместе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...