当前位置:网站首页>低代码平台中的数据连接方式(上)
低代码平台中的数据连接方式(上)
2022-07-06 18:34:00 【InfoQ】
1. 前言
- 在(上)篇中,我们将介绍经典的单 API 通信数据连接方式 - 简单的单 API 连接方式存在的问题 - 相应解决方案。
- 在(下)篇中,我们将介绍在低代码时代发展起来的 API 编排 - FaaS - 数据库直连等新型方案。
2. 传统手工模式下动态数据的获取和渲染
var menuId = $( "ul.nav" ).first().attr( "id" );
var request = $.ajax({
url: "script.php",
method: "POST",
data: { id : menuId },
dataType: "html"
});
request.done(function( msg ) {
$( "#log" ).html( msg );
});
request.fail(function( jqXHR, textStatus ) {
alert( "Request failed: " + textStatus );
});
// 1. Import *useState* and *useEffect*
import React, {useState, useEffect} from 'react';
import './App.css';
function App() {
// 2. Create our *dogImage* variable as well as the *setDogImage* function via useState
// We're setting the default value of dogImage to null, so that while we wait for the
// fetch to complete, we dont attempt to render the image
let [dogImage, setDogImage] = useState(null)
// 3. Create out useEffect function
useEffect(() => {
fetch("https://dog.ceo/api/breeds/image/random")
.then(response => response.json())
// 4. Setting *dogImage* to the image url that we received from the response above
.then(data => setDogImage(data.message))
},[])
return (
<div className="App">
{/* 5. Using *dogImage as* the *src* for our image*/}
{dogImage && <img src={dogImage}></img>}
</div>
);
}
export default App;
new Vue({
el: '#app',
data () {
return {
info: null
}
},
mounted () {
axios
.get('https://api.coindesk.com/v1/bpi/currentprice.json')
.then(response => (this.info = response))
}
})
3. 低代码最初的数据连接方式 —— 通过 API URL 进行数据通信
4. 问题产生 —— 低代码平台实际落地中的阻碍
4.1 前后端数据格式不匹配问题
{
"status":0,
"msg":"",
"data":{
...其他字段
}
}
4.2 跨域问题
5. 浏览器端的数据映射机制
6. 浏览器端请求 / 接收适配器
7. API 代理
7.1 统一 API 代理方案
7.2 后端数据映射及后端请求 / 接收适配器
- AMIS 作为一个开源项目,在许多时候可能会被作为独立依赖引入到项目中,在没有 API 代理机制的情况下前端方案可以解决一部分问题。
- 如果在配置项中指定请求为 raw: 则网络请求不会经过 API 代理发送,这时如果需要对数据进行格式化,则需要借助前端方案。
8. 小结
边栏推荐
- PartyDAO如何在1年内把一篇推文变成了2亿美金的产品DAO
- Centros 8 installation MySQL Error: The gpg Keys listed for the "MySQL 8.0 Community Server" repository are already ins
- Flir Blackfly S 工业相机:自动曝光配置及代码
- 蓝桥杯2022年第十三届省赛真题-积木画
- ROS学习(23)action通信机制
- Reptile practice (VI): novel of climbing pen interesting Pavilion
- 长安链学习笔记-证书研究之证书模式
- String or binary data will be truncated
- Introduction to RC oscillator and crystal oscillator
- Flir Blackfly S 工业相机:通过外部触发实现多摄像头同步拍摄
猜你喜欢
Yiwen takes you into [memory leak]
Centros 8 installation MySQL Error: The gpg Keys listed for the "MySQL 8.0 Community Server" repository are already ins
开发中对集合里面的数据根据属性进行合并数量时犯的错误
Flir Blackfly S USB3 工业相机:计数器和定时器的使用方法
ROS learning (23) action communication mechanism
Ros Learning (23) Action Communication Mechanism
ROS learning (XX) robot slam function package -- installation and testing of rgbdslam
Baidu flying general BMN timing action positioning framework | data preparation and training guide (Part 1)
Command injection of cisp-pte
Flir Blackfly S 工业相机 介绍
随机推荐
Zabbix 5.0:通过LLD方式自动化监控阿里云RDS
Shell script quickly counts the number of lines of project code
MySQL's most basic select statement
PartyDAO如何在1年内把一篇推文变成了2亿美金的产品DAO
How did partydao turn a tweet into a $200million product Dao in one year
freeswitch拨打分机号源代码跟踪
The use of video in the wiper component causes full screen dislocation
ROS学习(21)机器人SLAM功能包——orbslam的安装与测试
Threadlocalutils (tool class IV)
Seconds understand the delay and timing function of wechat applet
JS ES5也可以創建常量?
sql中批量删除数据---实体中的集合
ROS学习(二十)机器人SLAM功能包——rgbdslam的安装与测试
Analyze "C language" [advanced] paid knowledge [i]
企业中台建设新路径——低代码平台
【LeetCode】Day97-移除链表元素
C语言【23道】经典面试题【下】
Flir Blackfly S工业相机:颜色校正讲解及配置与代码设置方法
New job insights ~ leave the old and welcome the new~
ROS learning (XX) robot slam function package -- installation and testing of rgbdslam