如何使用khttp向BODY发出GET请求? (或其他)

时间:2019-07-30 23:56:08

标签: http kotlin get request

我有一项在邮递员中运作良好的服务。这是对具有Content-Type application / json标头的URL / validateExistingEmail的GET请求 然后在正文中发送电子邮件进行比较,例如{{Email“:” email@domain.com“}。

当我尝试在khttp中执行此操作时,它将请求发送为POST(我想这是因为它具有主体)

我对其他服务的所有其他khttp请求都可以正常工作。

我尝试使用khttp的get方法以及request方法,并在参数中指定它。

我尝试过:

    val response: Response = khttp.get(
        url = "${getString(R.string.main_IP)}${getString(R.string.base_folder)}${getString(R.string.version_folder)}${getString(R.string.validateUserEmail)}",
        headers = mapOf("Content-Type" to "application/json"),
        data = """{"Email":"a@a.com"}"""
   )

还有:

    val response: Response = khttp.request(
        method = "GET",
        url = "${getString(R.string.main_IP)}${getString(R.string.base_folder)}${getString(R.string.version_folder)}${getString(R.string.validateUserEmail)}",
        headers = mapOf("Content-Type" to "application/json"),
        data = """{"Email":"a@a.com"}"""
   )

并发送json而不是数据,但它们始终返回html 之所以说

Cannot POST /base/v1/validateUserEmail
是因为该路由不存在该方法,它是GET而不是POST。

我在邮递员中得到的是我期望的实际JSON:

{
  "errorId": 0,
  "errorMsg": "OK",
  "data": {
      "emailResponse": false
  }
}

0 个答案:

没有答案