java web HttpClient 开发一个接口

使用 Java 11 的 HttpClient 处理 RESTful Web 服务 HttpClient是 Java 11 引入的标准 API,用于发送 HTTP 请求和接收响应。协议支持:兼容 HTTP/1.1 和 HTTP/2,HTTP/2 提供头部压缩和多路复用等性能优化。同步和异步:支持阻塞(同步)和非阻塞(异步)请求,适合不同应用场景。构建器模式:使用流畅的构建器模式配置客户端和请求。响应处理:通过提供多种方式处理响应体,如字符串、字节数组或文件。其他功能:支持重定向、代理、认证和 WebSocket。与旧的。 阅读详情

项目是基于SpringMvc的,最近项目中需要给另一个项目开放一个http接口供别人调数据  所以写了这么一个例子供新手参考


Controller:


package com.cicro.iris.web.infomanage;


import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;


import com.cicro.iris.service.infomanage.ArticleListToJsonService;
import com.cicro.iris.util.CacheManager;


/**
 * TODO 此处描写类的信息
 * 
 * @time Apr 5, 2016 3:08:07 PM
 * @author cuixx
 * @since JDK1.7
 */
@Controller
@RequestMapping(value="/sys/infomanage/ArticleListToJson")
public class ArticleListToJsonController{
    
    
    @Resource
    ArticleListToJsonService articleListToJsonService;
    
    @RequestMapping(value="getJson")
    @ResponseBody
    public String getJson(@RequestParam(value="myy_code")String myy_code,HttpServletRequest request) {
        if(CacheManager.hasCache(myy_code)) {
           return CacheManager.getCache(myy_code);
        }
        else
        {
           CacheManager.putCache(myy_code,articleListToJsonService.getJson(myy_code));
           return articleListToJsonService.getJson(myy_code);
           
        }
    }
}


Client:

package com.cicro.iris.util;


import java.util.ArrayList;
import java.util.List;


import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;




/**
 * TODO 此处描写类的信息
 * 
 * @time Mar 23, 2016 5:21:16 PM
 * @author cuixx
 * @since JDK1.7
 */
public class test{  
    private static void tmep() {
      HttpClient httpClient=new DefaultHttpClient();
      String url="http://localhost:8080/iris/sys/infomanage/ArticleListToJson/getJson";//?myy_code=ZTFL-001-ZT001-LM001
      HttpPost post=new HttpPost(url);
      post.addHeader("Accept-Language","zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3");
      post.addHeader("Accept-Encoding", "gzip, deflate");
      post.addHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");


      try {
       List<NameValuePair> namevaluepairs=new ArrayList<NameValuePair>();
         /* JSONObject obj=new JSONObject();
          obj.put("myy_code", "ZTFL-001-ZT001-LM001");*/
          namevaluepairs.add(new BasicNameValuePair("myy_code","ZTFL-001-ZT001-LM001"));
          post.setEntity(new UrlEncodedFormEntity(namevaluepairs,"UTF-8"));
          post.addHeader("Content-type", "application/x-www-form-urlencoded");  
          HttpResponse response=httpClient.execute(post);
          if(response.getStatusLine().getStatusCode()==200) {
              String conResult = EntityUtils.toString(response.getEntity());
              System.out.print(conResult);
          } else {  
              String err = response.getStatusLine().getStatusCode()+"";  
              System.out.print(err);
          }  
          
      }catch(Exception e) {
          e.printStackTrace();
      }
    }
    
    public static void main(String[] args) {
        tmep();
    }
}



使用httpclient调用未来机器人接口web api调用实例 //注意三个参数//key 权限秘钥,可以联系QQ:403861431免费申请。//msg参数就是传输过去的对话内容。//ip要真实Ip,不要用虚假ip//msg 参数要编码成gbk,不然会乱码。//这是Java调用的接口。没有乱码。//其他语言调用暂时不知道会不会出现。//有乱码也可以联系 QQ:403861431import java.io.ByteArrayOutputStream;impo... 阅读详情

相关推荐

JAVA:Spring Boot 集成 WebClient 响应式编程

本文介绍了Spring框架中的WebClient作为现代化HTTP客户端的特点与用法。WebClient基于响应式编程模型,支持非阻塞IO,适用于微服务架构中的高并发HTTP请求。文章详细讲解了WebClient的创建方式、基本GET/POST请求方法,并提供了多个实际应用场景:包括微服务间通信、批量并发请求处理、超时重试机制、异步文件上传以及OAuth2认证集成等。相比传统的RestTemplate,WebClient具有更好的性能和扩展性,特别适合需要处理大量异步请求的应用场景。

木头 2004

JAVA--WebClient

如果要访问的URL都来自同一个应用,只是对应不同的URL地址,这个时候可以把公用的部分抽出来定义为baseUrl,然后在进行WebClient请求的时候只指定相对于baseUrl的URL部分即可。与相比retrieve(),当使用时exchange(),应用程序有责任使用任何响应内容,而不管情况如何(成功,错误,意外数据等),否则会导致内存泄漏.也一并把这个题目以及参考答案,收入咱们的 《尼恩Java面试宝典》PDF,供后面的小伙伴参考,提升大家的 3高 架构、设计、开发水平。

huang714的专栏 4056

Python+AI能源管理实战:从电力负荷预测到智能调度的全流程开发

本系统展示了Python在能源管理领域的强大能力,通过AI技术实现了从预测到优化的智能决策闭环。随着碳中和目标的推进,智能能源系统将成为新型电力系统的核心大脑。📌 专业建议:系统部署需考虑网络安全防护,关键控制指令应设置多重验证机制!关注我的优快云账号获取能源系统安全最佳实践~下期预告:我们将探索Python在智慧医疗中的应用,开发基于多模态数据的智能诊断辅助系统。想提前获取代码?评论区留言"智慧医疗"获取GitHub源码链接!

资深全栈架构师,乐于在 优快云 分享技术见解,与大家携手共进,共攀技术巅峰! 625

Spring的WebClient基本使用

WebClient是从Spring WebFlux 5.0版本开始提供的一个非阻塞的基于响应式编程的进行Http请求的客户端工具。它的响应式编程的基于Reactor的。WebClient中提供了标准Http请求方式对应的get、post、put、delete等方法,可以用来发起相应的请求。 增加pom引用 <dependency> <groupId>org.springframework.boot</groupId>

dayformyjob 3888

程序化广告行业(23/89):深度剖析广告效果评估指标

大家好,我一直希望能和大家一起在技术领域不断探索、共同进步。在之前的文章中,我们了解了程序化广告中腾讯的业务布局和广告效果评估的基础概念,今天让我们进一步深入剖析广告效果评估的各项指标,这对理解程序化广告的运作机制至关重要

yyy173611的博客 4864

非华为设备实现多屏协同:最新电脑管家破解安装指南

本文提供了在非华为电脑上安装华为电脑管家并实现多屏协同功能的详细破解指南。通过绕过硬件检测机制,用户可在联想、戴尔等设备上体验与华为生态类似的无缝文件拖拽、跨屏操作等功能。文章涵盖了从系统准备、工具下载、破解安装到手机连接及故障排查的全流程,助您打破设备壁垒,提升办公效率。

weixin_29209805的博客 1134

Java响应式HTTP客户端WebClient介绍

Java的HTTP客户端介绍 阻塞式 RestTemplate 响应式 WebClient WebClient public interface WebClient 非阻塞,响应式的HTTP请求客户端 可以通过静态方法 create(), create(String) , builder()构造实例。 @Bean public WebClient webClient() { return WebClient.builder() .baseUrl(props.getFileServerUrl.

Bryce1010's Blog 2466

IMU660RA姿态解算实战:从传感器滤波到欧拉角输出的完整实现

本文详细介绍了IMU660RA姿态解算的完整实现过程,从传感器滤波到欧拉角输出。通过实战案例和代码示例,展示了如何有效处理陀螺仪和加速度计的噪声问题,并选择合适的算法进行数据融合和姿态解算。特别强调了欧拉角输出中的坐标系对齐和动态补偿技巧,帮助工程师快速掌握IMU660RA的应用。

weixin_42524762的博客 386

什么是 WebClient 以及 Java 微服务如何使用 WebClient 进行通信?代码详细介绍

什么是 WebClient 以及 Java 微服务如何使用 WebClient 进行通信?代码详细介绍

weixin_45428910的博客 1801

ROS2_Moveit2_Ur5e_Grasp项目详解(二):核心模块功能解析

本文深入解析了ROS2_Moveit2_Ur5e_Grasp项目的核心模块功能。重点阐述了OctoMap建图模块如何为机械臂提供实时三维环境感知,并详细介绍了Robotiq夹爪与MoveIt2的集成控制、UR5e的运动规划策略,以及视觉模块如何协同工作,最终实现从目标检测到动态抓取的完整闭环。

weixin_29254029的博客 112

Ubuntu断网环境下的系统更新:apt-offline保姆级教程(附常见问题排查)

本文详细介绍了在Ubuntu断网环境下使用apt-offline进行系统更新的完整教程,包括环境准备、签名文件生成、数据传输方案对比及常见问题排查。特别适用于企业级开发环境或安全敏感场景,帮助运维人员高效完成离线系统更新,确保系统安全与稳定。

weixin_29214691的博客 359

Java调用http接口的几种方式(HttpURLConnection、OKHttp、HttpClient、RestTemplate)

Java作为后端语言是开发接口实现功能供客户端调用接口,这些客户端中最主要是本项目的前端;但有时候也需要Java请求其他的接口,比如需要长连接转短链接(请求百度的一个接口可以实现)、获取三方OSS签名、微信小程序签名、甚至是本公司其他团队项目的接口等等都需要Java调用其他的接口,这时候就需要用Java发起相应的请求,这里以发起http请求为例介绍几种方式。本文示例涉及的service(被调用方)和client(调用方)的接口代码如下(均以spring boot搭建的项目):代码: 文件上传参数类: 配置信

doubiy的博客 1万+

多物理场光学仿真软件:Ansys Lumerical_(8).CHARGE解决方案详解

CHARGE 模块主要用于求解 Poisson 方程和连续性方程,以模拟半导体器件中的电荷分布和载流子输运。通过 CHARGE 模块,可以分析器件的能带结构、载流子浓度、电流密度等关键参数。这些参数对于理解器件的工作原理和优化设计至关重要。

kkchenjj的博客 1387

实战HttpClient 接口调用以及获取token 设置请求头

简介: HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供...

T 2万+

【华为OD机试】真题-小明减肥(Java)

摘要:题目要求从n个可选运动中选取k个,使其卡路里总和等于目标值t,统计可行方案数。输入包含运动数量n、目标t、选择数量k及卡路里数组。采用DFS回溯算法,通过剪枝优化(提前终止无效分支),分别处理选择/不选当前运动的情况。当遍历完所有运动且满足条件时计数。示例输入"4 3 2"和"1 2 3"时,输出2(对应两种选择组合)。Java实现通过递归完成搜索,最终输出符合条件的方案总数。(149字)

u014481728的博客 285

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

http 接口 和webService 接口

使用 SOAP 协议:如果接口采用了 SOAP 协议,可以使用相应的 SOAP 客户端库来构建 SOAP 请求,并解析接口返回的 SOAP 响应。使用 HTTP 请求库:可以使用编程语言中的 HTTP 请求库(如Python中的 requests 库)来发送 HTTP 请求,并获取接口返回的数据。无论使用何种方式,都需要了解接口的具体要求,包括接口地址、请求参数、请求方式、认证授权等信息,并根据接口文档进行调用和处理返回结果。无论使用原生的类库还是第三方库,都需要根据具体的需求和接口要求来选择合适的方式。

weixin_41964236的博客 9364

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

HttpClient调用WebService接口

文章目录前言WebService是什么?WebService原理?HttpClient是什么?HttpClient应用场景?使用HttpClient调用WebService接口1、创建HttpClient工具类2、创建一个XML转JSON格式的工具类3、创建一个类,通过HttpClient工具类连接WebService服务4、使用postman访问本地路径测试 前言 WebService是什么? WebService即Web服务,它是一种跨编程语言和跨操作系统平台的远程调用技术。所谓跨编程语言和跨操作平台,

fuzhuangzhuang的博客 7792

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

java 调用wsdl的webservice接口 两种调用方式

关于wsdl接口对于我来说是比较头疼的 基本没搞过。一脸懵 就在网上搜 看着写的都很好到我这就不好使了,非常蓝瘦、谨以此随笔纪念我这半个月踩过的坑、、、   背景:短短两周除了普通开发外我就接到了两个webservice接口,很少搞这样的接口 就很懵;   开发工具:eclipse、idea   方法一:     第一种就是个人觉得很容易懂得方法,作为wsdl接口,我们可以用开发...

weixin_30511039的博客 5950

JAVA WEB接口开发简述

目录 1. JAVA WEB接口开发简述 1.1. 基本了解 1.2. 提供接口 1.3. 调用接口 1. JAVA WEB接口开发简述 1.1. 基本了解   当我们想去访问其他网站的接口时候,而又不想要登录验证等操作,那么可以选择使用平台提供的接口进行调用得到我们需要的信息。比如说,一个网站A有一个接口路径: http://192.168.10.119

weixin_36958747的博客 1132

java基础 - 实现一个简单的Http接口功能自动化测试框架(HttpClient + TestNG)

http接口自动化测试

软件测试入门笔记 3225

Apache HttpClient 实现 Java 调用 Http 接口

本文内容大多基于官方文档和网上前辈经验总结,经过个人实践加以整理积累,仅供参考。 1 新建一个测试用 Http URL,对登录的用户名和密码进行验证,并返回验证结果 1.1 web.xm

dearbaba_8520的博客 1622

HttpClient工具类

最近在工作中需要在后台调用短信接口,经过研究决定使用HttpClient,自己封装了一个HttpClient工具类,简单轻松的实现get,post,put和delete请求,希望分享给大家。 1. 什么是HttpClient HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 jav...

ThinkWon的博客 3万+

Web自动化测试中的接口测试

比如从浏览器操作的方式去测试,能很直接的覆盖用户的一手操作,但是需要思考的是,浏览器各个版本如ie6,7,8,chrome,firefox等,各 自有各自特性,JavaScript在浏览器内表现效果又不尽相同,浏览器在不同windows环境下、不同网络条件下运行的状况又不一样,给QA带来一 个难题:如何保证浏览器上的自动化case稳定、高效执行?服务器端的应用非常丰富,比如java的servlet,jsp,ssh框架,.net的aspx,还包括其他脚本如php,python。应用程序特性的正确性。

2301_80119299的博客 1392

通过HttpClient来调用Web Api接口

HttpClient是一个被封装好的类,主要用于Http的通讯,它在.net,java,oc中都有被实现,当然,我只会.net,所以,只讲.net中的HttpClient去调用Web Api的方法,基于api项目的特殊性,它需要有一个完全安全的环境,所以,你的api控制器看起来有点特别,只有5个方法,而且都是标准的http方法,我觉得这种设计很不错,很清晰,而且为了实现安全性,它不支持使用传统的表

xylose1688的博客 872

Web开发 之HttpClient详解

HttpClient用法–这一篇全了解(内含例子) HttpClient详细使用示例

const_ 1147

使用httpClient进行接口测试

概述 现今很多Web应用开发都是分前后台的,后台开发提供接口调用返回Json对象,前台使用JS框架去加载后台返回的Json.本文以实例简述如何通过HttpClient测试这样的后台接口   处理Json对象的基本API JSON包中最常用的两个类就是JSONObject和JSONArray,具体可以参考JSON for java入门总结 如下是自己模仿的简单例子: Java代码

心系旭阳 1346
上一篇: tomcat+apache集群配置
下一篇: js 格式化日期
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值