首页 > 其他分享 >okhttp post util

okhttp post util

时间:2024-12-08 09:13:46浏览次数:7  
标签:val jsonObject onSuccess util var TAG JSONObject okhttp post

 

object Api {

    val client: OkHttpClient = OkHttpClient.Builder()
        .connectTimeout(10, TimeUnit.SECONDS)
        .readTimeout(10, TimeUnit.SECONDS)
        .writeTimeout(10, TimeUnit.SECONDS)
        .build()

    private var TAG = "zhu"

    fun post(
        url : String,
        jsonObject: JSONObject,
        onSuccess: ((jsonObject: JSONObject) -> Unit)? = null
    ) {
        this.onSuccess = onSuccess
        //val jsonObject = JSONObject()
        try {
            //jsonObject.put("mobile", "13552245285")
        } catch (e: JSONException) {
            e.printStackTrace()
        }
        val jsonStr = jsonObject.toString()
        val JSON: MediaType? = "application/json; charset=utf-8".toMediaTypeOrNull()
        val body = RequestBody.create(JSON, jsonStr)
        //val url = "https://s.huixinyuhang.com/home/CustomerFromOpen/loginPhone"
        val request: Request = Request.Builder()
            .url(url)
            .post(body)
            .build()

        client.newCall(request).enqueue(object : Callback {

            override fun onFailure(call: Call, e: IOException) {
                Log.e(TAG, "报错信息 - - - > $e")
            }

            override fun onResponse(call: Call, response: Response) {

                try {
                    var s = response.body!!.string()
                    Log.i(TAG, "数据返回 - - - > " + s)
                    var jsonObject = JSONObject(s)
                    onSuccess?.invoke(jsonObject)
                } catch (e: Exception) {
                    Log.e(TAG, "数据返回 - - - > " + e)
                }

            }
        })
    }

    var onSuccess: ((jsonObject: JSONObject) -> Unit)? = null

}

 

标签:val,jsonObject,onSuccess,util,var,TAG,JSONObject,okhttp,post
From: https://www.cnblogs.com/zuiniub/p/18593011

相关文章

  • java接口测试利器【postman】
    怎样使用postman一、了解postman1.postman?—— 软件测试用来做接口测试的工具。2.下载postman—— https://www.getpostman.com/(官方下载)3.postman的界面二、用postman工具测试创建一个新的请求:打开Postman应用,创建一个工作区。点击“New”按钮,选择“Reques......
  • PostgreSQL技术大讲堂 - 第73讲:AI4DB系列公开课--搭建私域大模型
    ​PostgreSQL技术大讲堂-第73讲,主题:AI4DB系列公开课--搭建私域大模型讲课内容:1、下载Chinese-LLaMA-Alpaca大模型2、创建基于miniconda虚拟环境3、下载基座模型4、安装pip依赖软件包5、启动开源版openai接口6、安装配置ChatGPTNextWeb工具7、测试DBA小助手假如你在为......
  • 【PostgreSQL备份恢复二】物理备份与恢复
    PostgreSQL备份恢复物理备份与恢复之前的文章中我们有介绍过,PostgreSQL的的逻辑备份,物理备份的冷备,今天我们介绍一下基于pg_basebackup的热备与恢复。文章目录PostgreSQL备份恢复物理备份与恢复一、pg_basebackup简介二、在数据库服务器上使用pg_basebackup进......
  • 使用 httputils + protostuff 实现高性能 rpc
    1、先讲讲protostufprotostuf一直是高性能序列化的代表之一。但是用起来,可难受了,你得先申明protostuf配置文件,并且要把这个配置文件转成类。所以必然要学习新语法、新工具。可能真的太难受了!于是乎,(有不爽的人)搞了个有创意的框架protostuff(多一个字母“f”)。它借用注解,替代......
  • Postgresql——postgis安装
    PostGIS安装PostGIS是一个开源数据库拓展,它为PostgreSQL数据库增加了对地理空间数据的支持。PostGIS使得空间数据的存储、查询和分析变得简单高效。PostGIS是Postgresql的一个插件,本文将介绍Unbuntu平台下如何安装PostGIS拓展的一些步骤和注意的问题。在安装PostG......
  • 向PostgreSQL数据库插入Date类型数据报错
    问题场景这个是公司项目进行更改,将项目的数据库从Oracle版本改为PostgreSQL版本时发生的错误。控制台报错内容。SQL:insertintotable(...,RQ,...)select...,?,...unionallselect...,?,...//(这里的...省略了其他字段,主要是RQ日期类型报错就没列出)Cause:org.post......
  • Bclinux离线安装PostgreSQL10.23+PostGIS2.5编译安装配置
    一、安装PostgreSQL1、安装PostgreSQL解压PostgreSQL软件包tar-zxvfpostgresql.tar.gz配置并安装PostgreSQL[postgres@localhostsetup]$tar-zxvfpostgresql-10.23.tar.gz进入解压后的目录,按照PostgreSQL的官方文档进行配置和安装。这通常涉及到创建数据目录、配置postgresq......
  • postgresql集成pgvector,postgresml,实现开源库内机器学习
    1.pgvectorhttps://github.com/pgvector/pgvector.gitcd/tmpgitclone--branchv0.8.0https://github.com/pgvector/pgvector.gitcdpgvectormakemakeinstall#可能需要加sudo权限问题记录:src/bitutils.c:1:10:fatalerror:'postgres.h'filenotfoundin......
  • curl post json数据
    参考:https://www.cnblogs.com/kelelipeng/p/17129941.htmlcurl-XPOSThttp://127.0.0.1:9991/api/v1/partner/add-H"Content-Type:application/json"-d'{"name":"yl-online-bn","description":"indiapartneronli......
  • langfuse使用的postgresql(docker)启用归档
    1.停掉容器cd/home/middle/langfuse/langfusedockercomposestop 2.创建归档文件存放路径需要登录容器创建目录,归档目录必须在容器里面创建dockerexec-tilangfuse-db-1/bin/bashcd/var/lib/postgresql/datamkdirarchivelog 2.修改pg配置文件cd/home/middle/langfu......