当前位置: 首页 > news >正文

JAVA接口请求测试及调用

  1. 项目需求
    客户提供接口供程序调用,在调用失败时首先通过cmd命令调用,确认接口是可以调用的,然后通过jdk8内置工具调用接口
  2. 模拟接口
    @PostMapping("/jumpByVin")
    public ResponseEntity<String> jumpByVin(@RequestBody Map<String, String> requestBody) throws Exception {String vin = requestBody.get("vin");// 记录 VIN 信息System.out.println("===== Received VIN =====");System.out.println(vin);System.out.println("========================");return ResponseEntity.ok(vin);
    }
  3. CMD调用
    curl -X POST "http://localhost:8080/harness-boot/publisher/publishermanagement/jumpByVin" -H "Content-Type: application/json" -d "{\"vin\":\"TESTVIN123456\"}"
  4. JDK8调用
    import java.io.OutputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;public class PostRequestByVin {public static void main(String[] args) {try {String url = "http://localhost:8080/harness-boot/publisher/publishermanagement/jumpByVin";String jsonInputString = "{\"vin\":\"TESTVIN123456\"}";// 创建连接URL obj = new URL(url);HttpURLConnection con = (HttpURLConnection) obj.openConnection();con.setRequestMethod("POST");con.setRequestProperty("Content-Type", "application/json; utf-8");con.setRequestProperty("Accept", "application/json");// 允许写入请求体con.setDoOutput(true);try (OutputStream os = con.getOutputStream()) {byte[] input = jsonInputString.getBytes("utf-8");os.write(input, 0, input.length);}// 读取响应java.io.BufferedReader br = new java.io.BufferedReader(new java.io.InputStreamReader(con.getInputStream(), "utf-8"));StringBuilder response = new StringBuilder();String responseLine;while ((responseLine = br.readLine()) != null) {response.append(responseLine.trim());}System.out.println("Response: " + response.toString());} catch (Exception e) {e.printStackTrace();}}
    }
http://www.dtcms.com/a/322042.html

相关文章:

  • 直播美颜SDK快速上手指南:从API调用到美白滤镜效果调优
  • Godot ------ 制作属于自己的卡牌
  • 从伪造的验证码到远程攻击工具 (RAT):2025 年网络欺骗威胁趋势
  • 同一局域网下,vmwear为啥xshell连不上,ssh也安装了
  • 加密流量论文复现:《Detecting DNS over HTTPS based data exfiltration》(下)
  • 【2025】AutoDock最新保姆级安装教程(附安装包+永久使用方法)
  • 项目历程—画图板
  • C语言学习笔记——编译和链接
  • Vue 自定义水印指令实现方案解析
  • ClickHouse集群部署实践---3分片2副本集群
  • 主成分分析加强版:MP-PCA
  • fio文件读写io带宽测试工具
  • 从零构建TransformerP2-新闻分类Demo
  • Spring AI 系列之三十九 - Spring AI Alibaba-集成百炼知识库
  • 【Python-Day 38】告别通用错误!一文学会创建和使用 Python 自定义异常
  • 【Nginx基础①】 | VS Code Remote SSH 环境下的静态资源与反向代理配置实践
  • 明厨亮灶场景下误检率↓76%:陌讯多模态融合算法实战解析
  • 蓝桥杯----大模板
  • 【NFTurbo】基于DockerCompose一键部署
  • Redis中String数据结构为什么以长度44为embstr和raw实现的分界线?
  • 【大模型实战篇】部署GPT-OSS-120B踩得坑(vllm / ollama等推理框架)
  • 数据库索引创建的核心原则与最佳实践
  • JAVA 分布式锁的5种实现方式
  • 【C++高阶五】mapset对红黑树的封装
  • 【昇腾】Atlas 500 A2 智能小站制卡从M.2 SATA盘启动Ubuntu22.04系统,重新上电卡死没进系统问题处理_20250808
  • 图片识别表格工具v3.0绿色版,PNG/JPG秒变可编辑Excel
  • Redis初步介绍和分布式系统介绍
  • 项目一系列-第4章 在线接口文档 代码模板改造
  • 临床医学 RANDOM SURVIVAL FORESTS(randomSurvivalForest)-2 python 例子
  • shell脚本使用