Java对接外部API这个问题

java对接外部api

  • 需求提出
  • 解决思路
  • 编码
    • 测试
  • 总结

差不多有一个多月没有更新blog,也是出于工作原因以及最近搬家在看合适的窝点导致断更。今天有一个小学妹来问我可以将我其他项目的api接入到我现在的项目中吗?我回答“可以”!我今天就写一篇关于对接api的博客来帮助她吧!

需求提出

那么拿到一个需求首先话不多说先分析这个需求的整体思路!需求上面大概有介绍,这里我更深入化的说明一下。对接外部api接口就是说我在A项目写了一个接口时我的B项目需要到A这个接口的数据,那么在A项目上线的基础上使用B项目去调用A项目的这个所需的接口,如下图:
在这里插入图片描述
其实对接外部api就是这么一个过程,当然我们拿到外部数据后面的操作都是由自己去自由发挥了,比如将读取到的数据来显示在这个项目中去给前端显示。或者存入数据库等等。

解决思路

上面已经理解了调用的的思路,有了思路就好解决,现在很多的外部api接口可以给开发时带来便利,当然,调用的方式可能也会有稍些不同,比如手机号查询归属地、邮箱等等。像这种的一般都是有官方文档可以给我们,很方便。但是我们去调用自己的api又不是在一个项目中的那就要想想怎么实现了。话不多说我就拿我之前写了一个DEMO中的数据吧,刚好项目还在线上。

编码

package edu.controller;import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.oss.HttpMethod;
import edu.entity.EventVo;
import org.springframework.http.ResponseEntity;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;/*** @Author Fujii* @Date 2021-10-11 23:12* @Version SpringBoot 2.2.2* @projectName 调用外部api接口*/
@RestController
public class BackEndApiDemo {@GetMapping("apiList")public Map<String,Object> getByApiList(){//这里先创建一个map用于返回api格式Map<String,Object> mapList = new HashMap<>();//1.我们是要去调用外部api,那么肯定要有一个外部api的地址,这里我是拿我的DEMO作为数据传输String apiURL = "这里直接放入你的api接口即可,我的api就不展示了,请谅解!";//2.这里有几种方式,你们去试了过后会发现不只有GET,这里因为我们是去获取数据,所以是用GETHttpMethod method = HttpMethod.GET;//用于接口返回的JSONObject()LinkedMultiValueMap map = new LinkedMultiValueMap();//json接收数据JSONObject  urlMethod = client(apiURL,method,map);JSONObject jsonObject = JSONObject.parseObject(urlMethod.toJSONString());JSONArray object = JSONObject.parseArray(jsonObject.get("data").toString());if (jsonObject!=null){List<EventVo> list = JSONArray.parseArray(object.toJSONString(), EventVo.class);mapList.put("list",list);mapList.put("code",200);mapList.put("msg", "获取成功!");}else{mapList.put("code",500);mapList.put("msg", "获取失败!");return mapList;}return mapList;}//注意:因为是测试,所有我所有内容全部写在一个文件内方便展示清晰,正规写法应写在服务层private JSONObject client(String url, HttpMethod method, LinkedMultiValueMap params) {RestTemplate template = new RestTemplate();ResponseEntity<JSONObject> response = template.getForEntity(url, JSONObject.class);return response.getBody();}
}

测试

在这里插入图片描述

总结

如果不甘于现状,请用行动来改变自己!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/25207.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Midjourney API 接口对接历程

Midjourney是一个基于Discord环境的画图工具&#xff0c;它提供API接口用于扩展功能。对于程序开发者来说&#xff0c;Midjourney只能在Discord环境下使用&#xff0c;这限制了它的使用范围。本文将介绍使用Midjourney的API接口进行开发发过程中遇到的一些问题。 内测地址&…

JAVA对接亚马逊SPAPI

亚马逊官方文档Amazon-Services-APIAmazon API Services for Selling Partners and Shippers.https://developer-docs.amazon.com/ 1注册AWS账号&#xff0c;填写个人信息&#xff0c;填写银行信息&#xff0c;手机验证&#xff08;AWS网址&#xff09; 2在AWS里面创建IAM用户…

深信服防火墙API对接

深信服防火墙千呼万唤的API终于在8.0.35版本实现了。具体的API文档可以登录防火墙的后台WEB界面上的右上角点开即可查看&#xff1a; 根本api文档&#xff0c;首先先新建一个api账号&#xff0c;“用户可以登录WebUI通过"系统->管理员账号"栏将默认的账户勾上WEBA…

使用Swagger作API接口对接

1、当前项目中存在的问题 在前后端分离的项目中&#xff0c;如手机端与接口端对接、WEB项目调用API&#xff0c;进行接口对接的方式一般是先创建WORD文档&#xff0c;然后把各个接口的链接、参数、访问方式、说明等信息粘贴进去。在制作文档的过程中&#xff0c;如果稍有不注意…

API对接实战

目录 一 背景 二 了解B公司接口的基础约定 三 基础域名 四 请求及相应格式说明 五 确定要对接哪些API 六 根据API文档&#xff0c;编写一些基础工具类。 七 根据API文档&#xff0c;编写必要的DTO 八 针对每个API方法&#xff0c;进行对接 九 对接代码结构 十 一些对…

企业微信api对接

用的是wxJava&#xff0c;但是wxJava文档真滴不清楚&#xff0c;都是jar全局搜索url/看方法试的。 坑0&#xff1a; 通讯录不仅要开通api&#xff0c;还得开通是“可编辑”不然是“只读”&#xff08;然后还可以设置人员自己编辑后推动事件服务器&#xff09;挺不错的 坑一&a…

WebAPI接口对接

WebAPI接口对接&#xff1a; 提示&#xff1a;此片文章是总结接口对接经验其中包括模型的建立以及统一的调用 学习内容&#xff1a; 数据对象模型的建立如何规范定义模型统一的请求方法系统中model的命名 数据对象的建立 接口的数据传输对象包括Request对象和Response对象 …

百度翻译API对接

百度翻译开发平台&#xff1a;http://api.fanyi.baidu.com/api/trans/product/index 打开如上链接&#xff1a; 下载SDK 导入SDK 新建一个工程&#xff08;zyq-translate&#xff09;&#xff0c;并新建包&#xff08;com.zyq.translate&#xff09; 解压SDK&#xff0c;得…

对接海康ISC平台API

开发文档&#xff1a;海康开放平台。&#xff08;视频预览、抓图等能力&#xff09;

Unity Layer(图层)简介

图层基础 1. 当一个项目或者场景中包含很多对象时&#xff0c;通常难以组织。有的时候&#xff0c;希望一些游戏对象只能被某些摄像机看到或者只会被某些灯光照亮&#xff1b;有时&#xff0c;你可能希望只让某些类型的对象之间发生碰撞&#xff1b;在Unity中用图层处理上述需求…

【闲玩】看看ChatGpt认为的各级别Unity程序该掌握哪些技术

1.初级Unity开发 2.中级Unity开发 3.高级Unity开发 4.资深Unity开发 结语&#xff1a; 仅供娱乐哈&#xff0c;不过还是可以参考的。 不得不说。。。ChatGpt是真的强啊。。。

图形学之Unity渲染管线流程分析

文章来源&#xff1a; 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 表格制作excel教程http://www.tpyjn.cn/ 学习通http://www.tsgmyy.cn/ 下图是《Unity Shader 入门精要》一书中的渲染流程图&#xff1b; ApplicationS…

Unity渲染工程收集

NPR 非真实渲染 UnityURP-AnimeStyleCelShader SSR 屏幕空间反射 UnitySSReflectionURP Skin 皮肤 Unity-URP-SkinSSSLUTGenerator

art-template渲染大坑,从后台接受到的数据正确,但渲染出来的都是空白

问题描述 后台使用的是art-template模板引擎和express // 部分代码如下 router.get(/advert/add, (req, res, next) > {res.render(advert_add.html); });前端使用的art-template 重点看下面画着的部分 // 代码如下 {{ extend ./layout.html }}{{ block style }} {{ /blo…

[Unity3D热更框架] LuaMVC简介

1.什么是LuaMVC 从工作以来一直从事工业三维仿真软件/AR软件的开发&#xff0c;每个项目开发周期短&#xff0c;项目从Demo到完(huang)结(le)时间较为紧凑&#xff0c;因此需要一个便捷的开发框架作为支撑&#xff0c;以适应不同的项目需求&#xff0c;而且需要尽可能覆盖多个终…

一张图了解OpenGL的渲染架构

初学者在初学OpenGL时&#xff0c;很多时候会对OpenGL的渲染架构感到困惑&#xff0c;不清楚它是怎么一个渲染流程&#xff0c;常将Arributes直接传递到片元着色器&#xff0c;或者为了将属性直接传递到片元着色器&#xff0c;而通过uniform传递到片元着色器等&#xff0c;这样…

GacUI:跨平台和渲染器

GacUI&#xff1a;跨平台和渲染器 https://github.com/vczh/GacUIBlog UI库跨平台的方法无非就是每个平台写一次。而如何把更多的共同点抽取出来&#xff0c;尽量的减少每个平台写一次的部分&#xff0c;是每一个跨平台的UI库的重点之一。GacUI的设计比较直接&#xff0c;所有…

Unity3D 《拥挤城市》3D房子建筑透视效果实

3D游戏&#xff0c;经常会看到透视效果&#xff0c;例如《王者荣耀》草丛透视&#xff0c;《拥挤城市》建筑透视。 实现原理&#xff1a;把3D模型MeshRenderer中Materials替换成透明材质球。 举例&#xff1a;《拥挤城市》3D房子建筑透视效果实现&#xff0c;效果如下图&…

Unity2020高清渲染管线

一、高清渲染管线加载与环境配置 这里使用2019.3.0f6版本 1、加载高清渲染管线&#xff08;High Definition RP&#xff09; 2、创建高清管线脚本文件 3、配置高清渲染管线环境&#xff08;把色彩空间改为线性空间&#xff09; 4、把高清渲染管线脚本添加到图形&#xff08;G…