【问题标题】:Fresher in Kotlin : Sending Data in Body in retrofit kotlin更新鲜的 Kotlin : 在改造 kotlin 中发送正文中的数据
【发布时间】:2019-01-10 18:33:59
【问题描述】:

我正在使用改造来调用 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 调用中,我如何解析它并将数据发送到服务器。 请告诉....

【问题讨论】:

    标签: android kotlin retrofit2


    【解决方案1】:

    如果你需要发送纯 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>
    

    Here is 一个如何将所有改造2 和服务接口连接在一起的示例。

    【讨论】:

    • 嘿,我知道如何在接口中定义它,但不知道如何解析并将数据发送到服务器发出请求....或者您可以说如何将值传递给主体 i意思是创建一个请求...希望你理解
    猜你喜欢
    • 2019-06-17
    • 2020-01-06
    • 2021-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-31
    • 2020-08-26
    • 2022-08-06
    相关资源
    最近更新 更多