导入依赖

    <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.14.9</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.75</version>
</dependency>
</dependencies>

编写一个接口

    @RequestMapping("/Json")
@ResponseBody
public JSONObject Json(@RequestBody JSONObject map) {
System.out.println(map);
map.put("success", true);
map.put("msg", UUID.randomUUID().toString());
HashMap<String, Object> stringObjectHashMap = new HashMap<>();
stringObjectHashMap.put("token", "asdascfr22rwf");
map.put("response", stringObjectHashMap);
return map;
}

编写OkHTTP的测试类发送请求这个接口

package com.example.demo.demos.web;

import com.alibaba.fastjson.JSONObject;
import okhttp3.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import java.io.IOException;
import java.util.UUID;
import java.util.concurrent.TimeUnit; public class HttpClentTest { private final static String httpHeaderMediaType = "application/json;charset=utf-8"; private final static String httpHeaderContentType = "Content-Type"; private final static Logger logger = LoggerFactory.getLogger(HttpClentTest.class); /**
* 设置默认30秒Http调用超时
*/
private final static OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(30, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.callTimeout(30, TimeUnit.SECONDS)
.build();
public static void main(String[] args) {
JSONObject jsonBody = new JSONObject();
jsonBody.put("appKey", UUID.randomUUID().toString());
jsonBody.put("appSecret", UUID.randomUUID().toString());
// 构建Request对象
RequestBody requestBody = RequestBody.create(MediaType.parse(httpHeaderMediaType), jsonBody.toJSONString());
Request request = new Request.Builder()
.addHeader(httpHeaderContentType, httpHeaderMediaType)
.addHeader("Accept", httpHeaderMediaType)
.post(requestBody)
.url("http://localhost:8282/Json")
.build();
Response signRsp = null;
try {
signRsp = client.newCall(request).execute();
if (signRsp.isSuccessful()) {
String body = signRsp.body().string();
JSONObject respBody = JSONObject.parseObject(body);
if (respBody.getBoolean("success")) {
System.out.println("===================================Token===================================");
System.out.println(respBody.getJSONObject("response").getString("token"));
} else {
logger.error("Http连接OpenapiAPi地址:openapiLoginUrl 失败,MSG= {}", respBody.getString("msg"));
}
}
} catch (IOException e) {
logger.error("Http连接OpenapiAPi地址:openapiLoginUrl 失败", e);
}
}
}

成功测试结果

===================================Token===================================
asdascfr22rwf

OkHTTP发送POST请求传送JSON数据的更多相关文章

  1. Android Studio利用异步任务AsyncTask发送post请求获取json数据

    syncTask,是Android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主 ...

  2. 使用Retrofit发送POST请求提交JSON数据

    Retrofit官网:https://square.github.io/retrofit/ 示例如下 HttpService.java import okhttp3.RequestBody; impo ...

  3. PHP/Post 提交请求获取json数据,并转化为所需要的数组

    /** * Post 提交请求获取json数据,并转化为所需要的数组 */ function request_post($url = '', $param = '') { if (empty($url ...

  4. 【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回

    作者:ssslinppp      时间:2015年5月26日 15:32:51 1. 摘要 本文讲解如何利用spring MVC框架,实现ajax异步请求以及json数据的返回. Spring MV ...

  5. 在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法

    在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法 最近在做一个小东西,使用kindeditor上传图片的时候,自己写了一个上传的方法,按照协议规则通过ajax返回json ...

  6. 【VueJS】VueJS开发请求本地json数据的配置

    VueJS开发请求本地json数据的配置,旧版本是build/dev-server.js,新版本是build/webpack.dev.conf.js. VueJS开发请求本地json数据的配置,早期的 ...

  7. Nginx下HTML页面POST请求静态JSON数据返回405状态

    在浏览器访问HTML页面,发现一些静态JSON数据没有显示,F12查看,如下图所示: 可以看到请求方式为POST 将请求链接复制在浏览器地址栏访问,可以正常请求到数据 F12查看,可以看到请求方式为G ...

  8. Beego框架POST请求接收JSON数据

    原文: https://blog.csdn.net/Aaron_80726/article/details/83870563 ------------------------------------- ...

  9. 手把手教你vue配置请求本地json数据

    本篇文章主要介绍了vue配置请求本地json数据的方法,分享给大家,具体如下:在build文件夹下找到webpack.dev.conf.js文件,在const portfinder = require ...

  10. XML 数据请求与JSON 数据请求

    (1)XML 数据请求 使用 AFNetworking 中的 AFHTTPRequestOperation 和 AFXMLParserResponseSerializer,另外结合第三方框架 XMLD ...

随机推荐

  1. Elasticsearch(6) --- Query查询和Filter查询

    这篇博客主要分为 :Query查询和Filter查询.有关复合查询.聚合查询也会单独写篇博客. 一.概念 1.概念 一个查询语句究竟具有什么样的行为和得到什么结果,主要取决于它到底是处Query还是F ...

  2. w3cschool-Storm 入门教程

    Storm 基础知识 基础知识 Storm 是一个分布式的,可靠的,容错的数据流处理系统.它会把工作任务委托给不同类型的组件,每个组件负责处理一项简单特定的任务.Storm 集群的输入流由一个被称作 ...

  3. window service 2012 R2 0x8007000d

    今天遇到了一个很无语的问题,我的一个.net core 项目,部署到IIS上之后,启动网站,报500.19的错误.尝试了网上N种办法始终没办法解决,最后重装了我的.net core,解决了. 第一步: ...

  4. 又来新活了!AI电商搜索,或是下一个90亿美元独角兽?

    图源:https://www.shopencore.ai/ 全新体验,大模型驱动的对话式购物搜索. Encore, 由2024年10月成立的美国初创公司开发.定位于二手商品对话式购物搜索,最终目标为个 ...

  5. 一个 .NET 开源、免费、功能强大的Windows应用卸载神器

    前言 今天大姚给大家分享一个基于 .NET 开源(Apache License).免费.功能强大的Windows应用卸载神器:Bulk Crap Uninstaller. 项目介绍 Bulk Crap ...

  6. VXLAN 网络中报文转发过程

    本文分享自天翼云开发者社区<VXLAN 网络中报文转发过程>,作者:刘****林 以同网段的 VM 间互通简单介绍 VXLAN 网络中的报文转发过程. 1.VM1 发送目的地址为 VM2 ...

  7. Shell脚本常用写法

    一.变量定义 | 赋值 | 输出 1.debugmap #!/bin/bash source /etc/profile # hive_json_tuple_params_orignal.tmp # e ...

  8. OceanBase Docker 初体验

    内存需求 内存10G,OB需要8G,4个逻辑CPU 卸载docker组件 yum remove docker \ docker-client \ docker-client-latest \ dock ...

  9. 快速配置Azure DevOps代理服务器

    快速配置Azure DevOps代理服务器(CentOS 7) Azure DevOps非常好用,但是代理服务器的配置相对有点麻烦而且易出问题,接下来笔者分享一下如何快速配置Azure DevOps的 ...

  10. 刚刚!百度搜索“换脑”引爆AI圈,正式接入DeepSeek R1满血版

    一.今天发现百度搜索出现已接入DeepSeek的提示,再也不用担心使用DeepSeek时出现"服务器繁忙,请稍后再试."的问题了.   在百度搜索首页出现[即刻体验AI搜索Deep ...