title: Only safe or non-null asserted calls are allowed on a nullable receiver of type String?
body: <p>I have data class for my api response as below </p>
  
  <pre><code>data class ApiResponse(
  @SerializedName("ErrorCode") @Expose
  var errorCode: Int = 0,
  @SerializedName("Message")
  @Expose
  var message: String? = null,
  
  @SerializedName("Token")
  @Expose
  var token: String? = null,
  
  @SerializedName("UserId")
  @Expose
  var userId: String? = null,
  
  @SerializedName("DOB")
  @Expose
  var birthdate: String? = null,
  
  @SerializedName("Mobile")
  @Expose
  var mobile: String? = null,
  
  @SerializedName("Data")
  @Expose
  var dataList: MutableList&lt;Data?&gt;? = null
  )
  </code></pre>
  
  <p>My api call</p>
  
  <pre><code>val request = ApiServiceBuilder.buildService(NetworkCall::class.java)
      request.login(apiPost = ApiPost("long","hello")).enqueue(object :Callback&lt;ApiResponse&gt;{
          override fun onResponse(call: Call&lt;ApiResponse&gt;, response: Response&lt;ApiResponse&gt;) {
              Log.e("resopne",response.body().userId)
          }
  
          override fun onFailure(call: Call&lt;ApiResponse&gt;, t: Throwable) {
              t.printStackTrace()
              Log.e("resopne","error")
          }
      })
  </code></pre>
  
  <p>While try to get userId I get </p>
  
  <p>Only safe  or non-null asserted  calls are allowed on a nullable</p>