部署和访问HTTP接口
项目发布Http接口和访问该接口
一、原理:当调用者调用接口的时候是发送url请求,所有类似于我们在浏览器直接输入地址发送请求一样。至于处理请求像现在的mvc框架都可以处理,比如servlet和struts。
二、发布Http接口
1、在maven中的pom.xml中添加相应的依赖包
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5.2</version>
</dependency>
2、在控制层拦截请求:
@ApiOperation("去重入库")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "query", name = "name", dataType = "String", required = true, value = "姓名", defaultValue = "csdn") })
@RequestMapping(value = "/show", method = RequestMethod.POST)
@ResponseBody
public GlobalResult updateCameraFaceStore(@RequestParam("cameraFaceId") String cameraFaceId) {
String result = "hello world";
return result;
}
访问的接口是对应的url 如:localhost:8080/demo1/show
3、在java项目调用该接口
public class Test{
public static void main(String args[]){
String respStr = null;
CloseableHttpClient httpclient = HttpClients.createDefault();
try {
HttpPost httppost = new HttpPost(serverUrl);
MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create()
.setMode(HttpMultipartMode.BROWSER_COMPATIBLE).setCharset(CharsetUtils.get("UTF-8"));
// 设置上传的其他参数
Map<String, String> params = new HashMap<String, String>();
//这个name就是访问接口的参数
params.put("name", "csdn");
setUploadParams(multipartEntityBuilder, params);
HttpEntity reqEntity = multipartEntityBuilder.build();
httppost.setEntity(reqEntity);
CloseableHttpResponse response = httpclient.execute(httppost);
try {
HttpEntity resEntity = response.getEntity();
respStr = getRespString(resEntity);
EntityUtils.consume(resEntity);
} finally {
response.close();
}
} finally {
httpclient.close();
}
return respStr;
}
/**
* 设所附带的其他参数
*
* @param multipartEntityBuilder
* @param params
*/
private void setUploadParams(MultipartEntityBuilder multipartEntityBuilder, Map<String, String> params) {
if (params != null && params.size() > 0) {
Set<String> keys = params.keySet();
for (String key : keys) {
multipartEntityBuilder.addTextBody(key, params.get(key));
}
}
}
}
}
部署和访问HTTP接口相关推荐
- 微信小程序访问WebService接口返回500错误解决过程
背景: 新手,第一次尝试使用微信小程序访问WebService接口. 使用Microsoft Visual Studio新建了一个WebService项目,发布后,按照常规流程部署到I ...
- istio: h5应用访问后端接口 (跨域+路由管理)
本文实验链路:h5 > demo-a > demo-b 在实验过程出现跨域问题,直接使用istio解决,没有调整后端代码 h5应用版本准备 版本代码区分 实验需要h5项目有两个版本,为了区 ...
- 如何访问webService接口
在上篇的文章中我们接触到如何来编写webService接口,这篇文章我们将讲述的是如何来访问webService接口 首先比如这样的一个接口:http://127.0.0.1:11111/weathe ...
- spring resttemplate 中文参数_SpringBoot使用RestTemplate访问第三方接口
养成习惯,先赞后看!!! 前言 相信大家都知道如何在自己的项目里面调用自己的接口,只需要调用自己项目里面接口特定的URL地址就行了,但是如果是调用其他项目的接口呢,这时候如果是直接调用的话,很明显我们 ...
- Knative 化繁为简之道:应用部署与访问
简介:Knative 是一款基于 Kubernetes 之上的开源 Serverless 框架,其目标之一是降低用户服务部署及使用门槛.在此基础上提还供了其它丰富的功能,如自动扩缩容,路由流量,金丝雀 ...
- threejs 影子属性_影子场vs.属性访问器接口第2轮
threejs 影子属性 如果你们还没有注意到Dirk Lemmerman和我之间的(轻松) 摊牌 ,那么让我快速提及一下我们是如何做到这一点的. 首先,Dirk创建了JavaFX技巧23:" ...
- 影子场vs.属性访问器接口第2轮
如果你们还没有注意到Dirk Lemmerman和我之间的(轻松) 对决 ,那么让我快速提及一下我们是如何做到这一点的. 首先,Dirk创建了JavaFX技巧23:" 为属性保存内存阴影字段 ...
- [转]Reporting Service部署之访问权限
本文转自:https://www.cnblogs.com/lonelyxmas/p/4112638.html 原文: Reporting Service部署之访问权限 SQL Server Repor ...
- maven 打包部署时访问远程仓库中没有的jar
maven 打包部署时访问远程仓库中没有的jar maven构建项目 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文 ...
最新文章
- c++ to_string用法
- 玩转Vuejs--核心原理
- 大数据下Limit使用(MySQL)
- python手机版iphone-只会Python可造不出iPhone
- 注意了,Fastjson 最新高危漏洞来袭!
- JavaScript两种方法来定义一个函数
- 动态游标for循环_【【动图算法】(动态规划篇):最长回文子串
- Android 手写板SDK
- docker swarm英文文档学习-11-上锁你的集群来保护你的加密密钥
- RIA案例不完全参考[0.01 草案]
- 3dmax人物表情动画、骨骼动画、半透明材质导出FBX文件、导入unity的方法
- 韦根协议c语言,基于STM8系列的韦根协议门禁源代码 1.STM8系列开发源代码; 2.已做门禁开发:韦根协议刷卡门禁控制源代码; - 下载 - 搜珍网...
- TTML(IMSC)字幕
- 基于Java框架开发OA企业在线办公系统项目教程-附源码-毕业设计
- Kryo 高性能序列化和反序列化
- 2021WSB-day3-1 - Arun Ross 老师讲解Privacy Preserving Biometrics
- Spring 让 LOB 数据操作变得简单易行,LOB 代表大对象数据,包括 BLOB 和 CLOB 两种类型
- 云控系统-移动互联网时代发展的一次飞跃
- 计算机程序漏洞用英语怎么说,漏洞用英语怎么说
- RT-Thread 嵌入式人工智能教学在线研讨会,就在本周六!