项目发布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接口相关推荐

  1. 微信小程序访问WebService接口返回500错误解决过程

    背景:     新手,第一次尝试使用微信小程序访问WebService接口.     使用Microsoft Visual Studio新建了一个WebService项目,发布后,按照常规流程部署到I ...

  2. istio: h5应用访问后端接口 (跨域+路由管理)

    本文实验链路:h5 > demo-a > demo-b 在实验过程出现跨域问题,直接使用istio解决,没有调整后端代码 h5应用版本准备 版本代码区分 实验需要h5项目有两个版本,为了区 ...

  3. 如何访问webService接口

    在上篇的文章中我们接触到如何来编写webService接口,这篇文章我们将讲述的是如何来访问webService接口 首先比如这样的一个接口:http://127.0.0.1:11111/weathe ...

  4. spring resttemplate 中文参数_SpringBoot使用RestTemplate访问第三方接口

    养成习惯,先赞后看!!! 前言 相信大家都知道如何在自己的项目里面调用自己的接口,只需要调用自己项目里面接口特定的URL地址就行了,但是如果是调用其他项目的接口呢,这时候如果是直接调用的话,很明显我们 ...

  5. Knative 化繁为简之道:应用部署与访问

    简介:Knative 是一款基于 Kubernetes 之上的开源 Serverless 框架,其目标之一是降低用户服务部署及使用门槛.在此基础上提还供了其它丰富的功能,如自动扩缩容,路由流量,金丝雀 ...

  6. threejs 影子属性_影子场vs.属性访问器接口第2轮

    threejs 影子属性 如果你们还没有注意到Dirk Lemmerman和我之间的(轻松) 摊牌 ,那么让我快速提及一下我们是如何做到这一点的. 首先,Dirk创建了JavaFX技巧23:" ...

  7. 影子场vs.属性访问器接口第2轮

    如果你们还没有注意到Dirk Lemmerman和我之间的(轻松) 对决 ,那么让我快速提及一下我们是如何做到这一点的. 首先,Dirk创建了JavaFX技巧23:" 为属性保存内存阴影字段 ...

  8. [转]Reporting Service部署之访问权限

    本文转自:https://www.cnblogs.com/lonelyxmas/p/4112638.html 原文: Reporting Service部署之访问权限 SQL Server Repor ...

  9. maven 打包部署时访问远程仓库中没有的jar

    maven 打包部署时访问远程仓库中没有的jar maven构建项目 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文 ...

最新文章

  1. c++ to_string用法
  2. 玩转Vuejs--核心原理
  3. 大数据下Limit使用(MySQL)
  4. python手机版iphone-只会Python可造不出iPhone
  5. 注意了,Fastjson 最新高危漏洞来袭!
  6. JavaScript两种方法来定义一个函数
  7. 动态游标for循环_【【动图算法】(动态规划篇):最长回文子串
  8. Android 手写板SDK
  9. docker swarm英文文档学习-11-上锁你的集群来保护你的加密密钥
  10. RIA案例不完全参考[0.01 草案]
  11. 3dmax人物表情动画、骨骼动画、半透明材质导出FBX文件、导入unity的方法
  12. 韦根协议c语言,基于STM8系列的韦根协议门禁源代码 1.STM8系列开发源代码; 2.已做门禁开发:韦根协议刷卡门禁控制源代码; - 下载 - 搜珍网...
  13. TTML(IMSC)字幕
  14. 基于Java框架开发OA企业在线办公系统项目教程-附源码-毕业设计
  15. Kryo 高性能序列化和反序列化
  16. 2021WSB-day3-1 - Arun Ross 老师讲解Privacy Preserving Biometrics
  17. Spring 让 LOB 数据操作变得简单易行,LOB 代表大对象数据,包括 BLOB 和 CLOB 两种类型
  18. 云控系统-移动互联网时代发展的一次飞跃
  19. 计算机程序漏洞用英语怎么说,漏洞用英语怎么说
  20. RT-Thread 嵌入式人工智能教学在线研讨会,就在本周六!

热门文章

  1. 大数据流处理的一致性问题与lambda架构优缺点
  2. 女神节,用python给她画朵玫瑰 !
  3. DSPE-PEG7-NHS ester分子式:C63H1117N2O20P琥珀酰亚胺PEG连接剂
  4. 快递是否签收,分享小技巧查询物流查看已签收件
  5. 京东FBP、LBP、SOP、SOPL 四种分别是什么意思?
  6. Let‘sEncrypt快速颁发及自动续签泛域名证书实践指南
  7. 异地多活高可用架构设计实践与思考
  8. 如何正确地给固态硬盘(SSD)分区
  9. VC下自制一个MusicPlayer:调用activemovie控件
  10. Mini XLR 平衡耳机 I/O 接线指引