title: Retrofit2 Add extra string to Body object
body: <p>Basically what im trying to do it's this.</p>
  
  <p>First of all this is my <strong>APIService.kt</strong></p>
  
  <pre><code>@Headers("Content-Type: application/json")
      @POST("api/v1/UsuarioController/saveDataPerson")
      abstract fun saveDataPerson(@Body email: String,@Body Person: Person): Call&lt;Person&gt;
  </code></pre>
  
  <p>the error goes with <strong>email: String</strong> i know that for this kind of request the best way it's to create a class with the values requested and obtained from the json, however i don't want to create the same value email in my <strong>Person.kt</strong></p>
  
  <p>the structure it's this</p>
  
  <p><strong>Person.kt</strong></p>
  
  <pre><code>class Person : Serializable {
      var user: User
      var imc: String
      var name: String
      var gender: Boolean
      var age: Int
      var height: Float
      var weight: Float
  
      @SerializedName("message")
      var message: String? = null
  
      constructor(user: User,imc: String, name: String, gender: Boolean, age: Int, height: Float, weight: Float){
          this.user = User
          this.imc = imc
          this.name = name
          this.gender = gender
          this.age = age
          this.height = height
          this.weight= weight
      }
  }
  </code></pre>
  
  <p>and this is the other class where i call email(for login, signUp)</p>
  
  <p><strong>User.kt</strong></p>
  
  <pre><code>class Usuario() : Serializable {
      var rol: String = ""
      var email: String = ""
      var pass: String = ""
      var active: Boolean = false
  
      @SerializedName("message")
      var message: String? = null
  
      constructor(rol: String, email: String, pass: String, active: Boolean): this(){
          this.rol = rol;
          this.email = email;
          this.pass = pass;
          this.active = active;
      }
  
  }
  </code></pre>
  
  <p>and the class where this goes in action.</p>
  
  <pre><code>private fun registerPersonalData(){
          btnBMI.isClickable = false
          btnBMI.startAnimation()
          val person = restManager!!.getApiService()!!.saveDataPerson(Person(User("rol",commonMethod.getUserPreferenceValue(),"password",true),commonMethod.categoryBMI(commonMethod.calcBMI(commonMethod.calcHeightMeters(et_height.text.toString().toFloat(),heightRadioSelect.position.toString().toInt()),commonMethod.calcWeightKilograms(et_weight.text.toString().toFloat(),weightRadioSelect.position.toString().toInt()))),et_name.text.toString(),genderRadioSelect.position.toString().toBoolean(),age.toInt(),et_height.text.toString().toFloat(),et_weight.text.toString().toFloat()))
          person.enqueue(object : Callback&lt;Person&gt; {
              override fun onResponse(call: Call&lt;Person&gt;, response: retrofit2.Response&lt;Person&gt;) {
                  when(response.body()?.message){
                      "Empty Fields"-&gt;Toast.makeText(this@RegisterBMIActivity,getString(R.string.invalid_data),Toast.LENGTH_LONG).show()
                      "No linked account"-&gt;Toast.makeText(this@RegisterBMIActivity,getString(R.string.no_associated_account),Toast.LENGTH_LONG).show()
                      "No IMC linked"-&gt;Toast.makeText(this@RegisterBMIActivity,getString(R.string.bmi_unknown),Toast.LENGTH_LONG).show()
                      "Invalid data"-&gt; Toast.makeText(this@RegisterBMIActivity,getString(R.string.invalid_data),Toast.LENGTH_LONG).show()
                      "Success"-&gt;registroExitoso()
                      else -&gt; Toast.makeText(this@RegisterBMIActivity,getString(R.string.unknown_error),Toast.LENGTH_LONG).show()
                  }
                  btnBMI.isClickable = true
                  btnBMI.doneLoadingAnimation(R.color.md_yellow_300, (BitmapFactory.decodeResource(resources,R.drawable.check)))
              }
              override fun onFailure(call: Call&lt;Person&gt;, t: Throwable) {
                  Log.e("error", t.message)
                  btnBMI.isClickable = true
                  btnBMI.revertAnimation()
              }
          })
      }
  </code></pre>
  
  <p>And well the objective that i want to achieve it's to add <strong>email</strong> to my @Body without add that field into the <strong>Person.kt</strong></p>
  
  <p>please advice me :(</p>
  
  <p>[[EDITED]]</p>
  
  <p>This is the new content that throws when the JSON Fail...</p>
  
  <blockquote>
    <p>E/error: java.lang.IllegalStateException: Expected BEGIN_OBJECT but
    was STRING at line 2 column 1 path $ </p>
    
    <p>E/errors:com.google.gson.JsonSyntaxException: java.lang.IllegalStateException:
    Expected BEGIN_OBJECT but was STRING at line 2 column 1 path $</p>
  </blockquote>