当前位置: 首页 > news >正文

vue3配置代理实现axios请求本地接口返回PG库数据【前后端实操】

前端编写

安装 axios

如果当前未安装axios,可以执行如下指令安装

npm install axios

配置代理

当前为基于Vite构建的项目,在 vite.config.ts 中配置代理,在defineConfig中新增server配置,主要关注两个点:
一、需要代理的url开头,此处为/asset
二、代理的目标IP以及端口号,此处为http://localhost:8888

// vite.config.ts
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';export default defineConfig({plugins: [vue()],server: {proxy: {'/asset': { // 以 '/asset' 开头的请求会被代理target: 'http://localhost:8888', // 后端服务器地址changeOrigin: true, // 允许跨域rewrite: (path) => path.replace(/^\/asset/, '') // 重写路径,去掉 '/asset'}}}
});

如果你的项目基于Vue CLI构建,可在vue.config.js添加

// vue.config.js
const { defineConfig } = require('@vue/cli-service');module.exports = defineConfig({devServer: {proxy: {'/asset': {  // 以 '/asset' 开头的请求会被代理target: 'http://localhost:8888',  // 后端服务器地址changeOrigin: true,  // 允许跨域pathRewrite: {'^/asset': ''  // 重写路径,去掉 '/asset'}}}}
});

前端代码编写

此处使用ts&vue3写法,由于使用原生axios写法,没有封装通用的请求js(后续博客完善),导致此处解析响应会比较绕
const assetInfoList = result?.data?.data?.assetInfoList

<script setup lang="ts">
import { ref } from 'vue'
import axios from 'axios'const isUseLocalFlag = ref(true)
const setTabData = async function () {if (isUseLocalFlag.value) {const bizId = '0777c40218114c35a29b0d4d84355668'await axios.post(`/asset/assetInfo/${bizId}/byBizId`).then(result => {if (result.status === 200) {const assetInfoList = result?.data?.data?.assetInfoListconsole.log('assetInfoList', assetInfoList)}})} else {// 请求mock数据}
}
</script><template><div>数据源选择:</div><el-switchv-model="isUseLocalFlag"active-text="使用本地服务数据"inactive-text="使用mock数据"/><el-button @click="setTabData" style="margin-left: 10px;">给tab赋值</el-button>
</template><style scoped></style>

后端编写

pgsql建表&测试数据填充

-- 资产信息表创建
CREATE TABLE IF NOT EXISTS t_asset_info (asset_number varchar(100) COLLATE pg_catalog.default NOT NULL,asset_status varchar(10) COLLATE pg_catalog.default,use_dept_code varchar(100) COLLATE pg_catalog.default,create_time timestamp(0),create_by_uuid varchar(32) COLLATE pg_catalog.default,create_by_account varchar(32) COLLATE pg_catalog.default,create_by_name varchar(100) COLLATE pg_catalog.default,last_update_time timestamp(0),last_update_uuid varchar(32) COLLATE pg_catalog.default,last_update_account varchar(32) COLLATE pg_catalog.default,last_update_name varchar(100) COLLATE pg_catalog.default,ext_attribute1 varchar(255) COLLATE pg_catalog.default,ext_attribute2 varchar(255) COLLATE pg_catalog.default,ext_attribute3 varchar(255) COLLATE pg_catalog.default,ext_attribute4 varchar(255) COLLATE pg_catalog.default,ext_attribute5 varchar(255) COLLATE pg_catalog.default,ext_attribute6 varchar(255) COLLATE pg_catalog.default,ext_attribute7 varchar(255) COLLATE pg_catalog.default,ext_attribute8 varchar(255) COLLATE pg_catalog.default,ext_attribute9 varchar(255) COLLATE pg_catalog.default,ext_attribute10 varchar(255) COLLATE pg_catalog.default,ext_attribute11 varchar(255) COLLATE pg_catalog.default,ext_attribute12 varchar(255) COLLATE pg_catalog.default,ext_attribute13 varchar(255) COLLATE pg_catalog.default,ext_attribute14 varchar(255) COLLATE pg_catalog.default,ext_attribute15 varchar(255) COLLATE pg_catalog.default,ext_attribute16 varchar(255) COLLATE pg_catalog.default,ext_attribute17 varchar(255) COLLATE pg_catalog.default,ext_attribute18 varchar(255) COLLATE pg_catalog.default,ext_attribute19 varchar(255) COLLATE pg_catalog.default,ext_attribute20 varchar(255) COLLATE pg_catalog.default,biz_id varchar(32) COLLATE pg_catalog.default DEFAULT ''::character varying,CONSTRAINT asset_info_pkey PRIMARY KEY (asset_number)
)
;ALTER TABLE t_asset_info OWNER TO postgres;COMMENT ON COLUMN t_asset_info.asset_number IS '资产编号';COMMENT ON COLUMN t_asset_info.asset_status IS '资产状态
10:正常
20:使用
30:闲置
40:报废
50:封存
60:盘点中
70:在途';COMMENT ON COLUMN t_asset_info.use_dept_code IS '使用部门名称';COMMENT ON COLUMN t_asset_info.create_time IS '创建时间';COMMENT ON COLUMN t_asset_info.create_by_uuid IS '创建人uuid';COMMENT ON COLUMN t_asset_info.create_by_account IS '创建人账号';COMMENT ON COLUMN t_asset_info.create_by_name IS '创建人名称';COMMENT ON COLUMN t_asset_info.last_update_time IS '最后更新时间';COMMENT ON COLUMN t_asset_info.last_update_uuid IS '最后跟新人uuid';COMMENT ON COLUMN t_asset_info.last_update_account IS '最后更新人账号';COMMENT ON COLUMN t_asset_info.last_update_name IS '最后更新人名称';COMMENT ON COLUMN t_asset_info.ext_attribute1 IS '拓展属性1';COMMENT ON COLUMN t_asset_info.ext_attribute2 IS '拓展属性2';COMMENT ON COLUMN t_asset_info.ext_attribute3 IS '拓展属性3';COMMENT ON COLUMN t_asset_info.ext_attribute4 IS '拓展属性4';COMMENT ON COLUMN t_asset_info.ext_attribute5 IS '拓展属性5';COMMENT ON COLUMN t_asset_info.ext_attribute6 IS '拓展属性6';COMMENT ON COLUMN t_asset_info.ext_attribute7 IS '拓展属性7';COMMENT ON COLUMN t_asset_info.ext_attribute8 IS '拓展属性8';COMMENT ON COLUMN t_asset_info.ext_attribute9 IS '拓展属性9';COMMENT ON COLUMN t_asset_info.ext_attribute10 IS '拓展属性10';COMMENT ON COLUMN t_asset_info.ext_attribute11 IS '拓展属性11';COMMENT ON COLUMN t_asset_info.ext_attribute12 IS '拓展属性12';COMMENT ON COLUMN t_asset_info.ext_attribute13 IS '拓展属性13';COMMENT ON COLUMN t_asset_info.ext_attribute14 IS '拓展属性14';COMMENT ON COLUMN t_asset_info.ext_attribute15 IS '拓展属性15';COMMENT ON COLUMN t_asset_info.ext_attribute16 IS '拓展属性16';COMMENT ON COLUMN t_asset_info.ext_attribute17 IS '拓展属性17';COMMENT ON COLUMN t_asset_info.ext_attribute18 IS '拓展属性18';COMMENT ON COLUMN t_asset_info.ext_attribute19 IS '拓展属性19';COMMENT ON COLUMN t_asset_info.ext_attribute20 IS '拓展属性20';COMMENT ON COLUMN t_asset_info.biz_id IS '业务ID';COMMENT ON TABLE t_asset_info IS '资产信息表';
-- 资产信息表插入测试数据
INSERT INTO t_asset_info (asset_number, asset_status, use_dept_code, create_time, create_by_uuid, create_by_account, create_by_name, last_update_time, last_update_uuid, last_update_account, last_update_name, ext_attribute1, ext_attribute2, ext_attribute3, ext_attribute4, ext_attribute5, ext_attribute6, ext_attribute7, ext_attribute8, ext_attribute9, ext_attribute10, ext_attribute11, ext_attribute12, ext_attribute13, ext_attribute14, ext_attribute15, ext_attribute16, ext_attribute17, ext_attribute18, ext_attribute19, ext_attribute20, biz_id) VALUES ('03f7744cb08fbf23c5e3a49038b741d9', '60', '00-dept-34', '2025-02-16 21:55:22', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', '2025-02-17 22:29:29', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', 'ext_attribute1', 'ext_attribute2', 'ext_attribute3', 'ext_attribute4', 'ext_attribute5', 'ext_attribute6', 'ext_attribute7', 'ext_attribute8', 'ext_attribute9', 'ext_attribute10', 'ext_attribute11', 'ext_attribute12', 'ext_attribute13', 'ext_attribute14', 'ext_attribute15', 'ext_attribute16', 'ext_attribute17', 'ext_attribute18', 'ext_attribute19', 'ext_attribute20', '0777c40218114c35a29b0d4d84355668');
INSERT INTO t_asset_info (asset_number, asset_status, use_dept_code, create_time, create_by_uuid, create_by_account, create_by_name, last_update_time, last_update_uuid, last_update_account, last_update_name, ext_attribute1, ext_attribute2, ext_attribute3, ext_attribute4, ext_attribute5, ext_attribute6, ext_attribute7, ext_attribute8, ext_attribute9, ext_attribute10, ext_attribute11, ext_attribute12, ext_attribute13, ext_attribute14, ext_attribute15, ext_attribute16, ext_attribute17, ext_attribute18, ext_attribute19, ext_attribute20, biz_id) VALUES ('0777c40218114c35a29b0d4d8435520e', '10', '00-dept-36', '2025-02-16 21:55:22', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', '2025-02-17 22:29:29', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', 'ext_attribute1', 'ext_attribute2', 'ext_attribute3', 'ext_attribute4', 'ext_attribute5', 'ext_attribute6', 'ext_attribute7', 'ext_attribute8', 'ext_attribute9', 'ext_attribute10', 'ext_attribute11', 'ext_attribute12', 'ext_attribute13', 'ext_attribute14', 'ext_attribute15', 'ext_attribute16', 'ext_attribute17', 'ext_attribute18', 'ext_attribute19', 'ext_attribute20', '0777c40218114c35a29b0d4d84355668');
INSERT INTO t_asset_info (asset_number, asset_status, use_dept_code, create_time, create_by_uuid, create_by_account, create_by_name, last_update_time, last_update_uuid, last_update_account, last_update_name, ext_attribute1, ext_attribute2, ext_attribute3, ext_attribute4, ext_attribute5, ext_attribute6, ext_attribute7, ext_attribute8, ext_attribute9, ext_attribute10, ext_attribute11, ext_attribute12, ext_attribute13, ext_attribute14, ext_attribute15, ext_attribute16, ext_attribute17, ext_attribute18, ext_attribute19, ext_attribute20, biz_id) VALUES ('2d72bf99ebcad018297aed761b5dee8d', '10', '00-dept-29', '2025-02-16 21:55:22', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', '2025-02-17 22:29:29', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', 'ext_attribute1', 'ext_attribute2', 'ext_attribute3', 'ext_attribute4', 'ext_attribute5', 'ext_attribute6', 'ext_attribute7', 'ext_attribute8', 'ext_attribute9', 'ext_attribute10', 'ext_attribute11', 'ext_attribute12', 'ext_attribute13', 'ext_attribute14', 'ext_attribute15', 'ext_attribute16', 'ext_attribute17', 'ext_attribute18', 'ext_attribute19', 'ext_attribute20', '0777c40218114c35a29b0d4d84355668');
INSERT INTO t_asset_info (asset_number, asset_status, use_dept_code, create_time, create_by_uuid, create_by_account, create_by_name, last_update_time, last_update_uuid, last_update_account, last_update_name, ext_attribute1, ext_attribute2, ext_attribute3, ext_attribute4, ext_attribute5, ext_attribute6, ext_attribute7, ext_attribute8, ext_attribute9, ext_attribute10, ext_attribute11, ext_attribute12, ext_attribute13, ext_attribute14, ext_attribute15, ext_attribute16, ext_attribute17, ext_attribute18, ext_attribute19, ext_attribute20, biz_id) VALUES ('3d4c487a1679c70f61b0aa3dd5a1733a', '60', '00-dept-27', '2025-02-16 21:55:22', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', '2025-02-17 22:29:29', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', 'ext_attribute1', 'ext_attribute2', 'ext_attribute3', 'ext_attribute4', 'ext_attribute5', 'ext_attribute6', 'ext_attribute7', 'ext_attribute8', 'ext_attribute9', 'ext_attribute10', 'ext_attribute11', 'ext_attribute12', 'ext_attribute13', 'ext_attribute14', 'ext_attribute15', 'ext_attribute16', 'ext_attribute17', 'ext_attribute18', 'ext_attribute19', 'ext_attribute20', '0777c40218114c35a29b0d4d84355668');
INSERT INTO t_asset_info (asset_number, asset_status, use_dept_code, create_time, create_by_uuid, create_by_account, create_by_name, last_update_time, last_update_uuid, last_update_account, last_update_name, ext_attribute1, ext_attribute2, ext_attribute3, ext_attribute4, ext_attribute5, ext_attribute6, ext_attribute7, ext_attribute8, ext_attribute9, ext_attribute10, ext_attribute11, ext_attribute12, ext_attribute13, ext_attribute14, ext_attribute15, ext_attribute16, ext_attribute17, ext_attribute18, ext_attribute19, ext_attribute20, biz_id) VALUES ('4f22a0a4fe1a8ccc5916718cd1049241', '70', '00-dept-28', '2025-02-16 21:55:22', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', '2025-02-17 22:29:29', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', 'ext_attribute1', 'ext_attribute2', 'ext_attribute3', 'ext_attribute4', 'ext_attribute5', 'ext_attribute6', 'ext_attribute7', 'ext_attribute8', 'ext_attribute9', 'ext_attribute10', 'ext_attribute11', 'ext_attribute12', 'ext_attribute13', 'ext_attribute14', 'ext_attribute15', 'ext_attribute16', 'ext_attribute17', 'ext_attribute18', 'ext_attribute19', 'ext_attribute20', '0777c40218114c35a29b0d4d84355668');
INSERT INTO t_asset_info (asset_number, asset_status, use_dept_code, create_time, create_by_uuid, create_by_account, create_by_name, last_update_time, last_update_uuid, last_update_account, last_update_name, ext_attribute1, ext_attribute2, ext_attribute3, ext_attribute4, ext_attribute5, ext_attribute6, ext_attribute7, ext_attribute8, ext_attribute9, ext_attribute10, ext_attribute11, ext_attribute12, ext_attribute13, ext_attribute14, ext_attribute15, ext_attribute16, ext_attribute17, ext_attribute18, ext_attribute19, ext_attribute20, biz_id) VALUES ('6ac629baf0e5af838433f7d48751cbbc', '50', '00-dept-33', '2025-02-16 21:55:22', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', '2025-02-17 22:29:29', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', 'ext_attribute1', 'ext_attribute2', 'ext_attribute3', 'ext_attribute4', 'ext_attribute5', 'ext_attribute6', 'ext_attribute7', 'ext_attribute8', 'ext_attribute9', 'ext_attribute10', 'ext_attribute11', 'ext_attribute12', 'ext_attribute13', 'ext_attribute14', 'ext_attribute15', 'ext_attribute16', 'ext_attribute17', 'ext_attribute18', 'ext_attribute19', 'ext_attribute20', '0777c40218114c35a29b0d4d84355668');
INSERT INTO t_asset_info (asset_number, asset_status, use_dept_code, create_time, create_by_uuid, create_by_account, create_by_name, last_update_time, last_update_uuid, last_update_account, last_update_name, ext_attribute1, ext_attribute2, ext_attribute3, ext_attribute4, ext_attribute5, ext_attribute6, ext_attribute7, ext_attribute8, ext_attribute9, ext_attribute10, ext_attribute11, ext_attribute12, ext_attribute13, ext_attribute14, ext_attribute15, ext_attribute16, ext_attribute17, ext_attribute18, ext_attribute19, ext_attribute20, biz_id) VALUES ('7396d84b53bc253123ce149aae367227', '30', '00-dept-31', '2025-02-16 21:55:22', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', '2025-02-17 22:29:29', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', 'ext_attribute1', 'ext_attribute2', 'ext_attribute3', 'ext_attribute4', 'ext_attribute5', 'ext_attribute6', 'ext_attribute7', 'ext_attribute8', 'ext_attribute9', 'ext_attribute10', 'ext_attribute11', 'ext_attribute12', 'ext_attribute13', 'ext_attribute14', 'ext_attribute15', 'ext_attribute16', 'ext_attribute17', 'ext_attribute18', 'ext_attribute19', 'ext_attribute20', '0777c40218114c35a29b0d4d84355668');
INSERT INTO t_asset_info (asset_number, asset_status, use_dept_code, create_time, create_by_uuid, create_by_account, create_by_name, last_update_time, last_update_uuid, last_update_account, last_update_name, ext_attribute1, ext_attribute2, ext_attribute3, ext_attribute4, ext_attribute5, ext_attribute6, ext_attribute7, ext_attribute8, ext_attribute9, ext_attribute10, ext_attribute11, ext_attribute12, ext_attribute13, ext_attribute14, ext_attribute15, ext_attribute16, ext_attribute17, ext_attribute18, ext_attribute19, ext_attribute20, biz_id) VALUES ('74fd3149eb6b63b4a05974644b12b9f7', '20', '00-dept-30', '2025-02-16 21:55:22', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', '2025-02-17 22:29:29', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', 'ext_attribute1', 'ext_attribute2', 'ext_attribute3', 'ext_attribute4', 'ext_attribute5', 'ext_attribute6', 'ext_attribute7', 'ext_attribute8', 'ext_attribute9', 'ext_attribute10', 'ext_attribute11', 'ext_attribute12', 'ext_attribute13', 'ext_attribute14', 'ext_attribute15', 'ext_attribute16', 'ext_attribute17', 'ext_attribute18', 'ext_attribute19', 'ext_attribute20', '0777c40218114c35a29b0d4d84355668');
INSERT INTO t_asset_info (asset_number, asset_status, use_dept_code, create_time, create_by_uuid, create_by_account, create_by_name, last_update_time, last_update_uuid, last_update_account, last_update_name, ext_attribute1, ext_attribute2, ext_attribute3, ext_attribute4, ext_attribute5, ext_attribute6, ext_attribute7, ext_attribute8, ext_attribute9, ext_attribute10, ext_attribute11, ext_attribute12, ext_attribute13, ext_attribute14, ext_attribute15, ext_attribute16, ext_attribute17, ext_attribute18, ext_attribute19, ext_attribute20, biz_id) VALUES ('a33fa6930899ca9b30ff93a95dedd11e', '70', '00-dept-35', '2025-02-16 21:55:22', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', '2025-02-17 22:29:29', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', 'ext_attribute1', 'ext_attribute2', 'ext_attribute3', 'ext_attribute4', 'ext_attribute5', 'ext_attribute6', 'ext_attribute7', 'ext_attribute8', 'ext_attribute9', 'ext_attribute10', 'ext_attribute11', 'ext_attribute12', 'ext_attribute13', 'ext_attribute14', 'ext_attribute15', 'ext_attribute16', 'ext_attribute17', 'ext_attribute18', 'ext_attribute19', 'ext_attribute20', '0777c40218114c35a29b0d4d84355668');
INSERT INTO t_asset_info (asset_number, asset_status, use_dept_code, create_time, create_by_uuid, create_by_account, create_by_name, last_update_time, last_update_uuid, last_update_account, last_update_name, ext_attribute1, ext_attribute2, ext_attribute3, ext_attribute4, ext_attribute5, ext_attribute6, ext_attribute7, ext_attribute8, ext_attribute9, ext_attribute10, ext_attribute11, ext_attribute12, ext_attribute13, ext_attribute14, ext_attribute15, ext_attribute16, ext_attribute17, ext_attribute18, ext_attribute19, ext_attribute20, biz_id) VALUES ('db06878e60b8db82c4412d11ff793d18', '40', '00-dept-32', '2025-02-16 21:55:22', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', '2025-02-17 22:29:29', 'pine_tree_uuid', 'pine_tree_account', 'pine_tree_name', 'ext_attribute1', 'ext_attribute2', 'ext_attribute3', 'ext_attribute4', 'ext_attribute5', 'ext_attribute6', 'ext_attribute7', 'ext_attribute8', 'ext_attribute9', 'ext_attribute10', 'ext_attribute11', 'ext_attribute12', 'ext_attribute13', 'ext_attribute14', 'ext_attribute15', 'ext_attribute16', 'ext_attribute17', 'ext_attribute18', 'ext_attribute19', 'ext_attribute20', '0777c40218114c35a29b0d4d84355668');

实体类新增

/*** <p>* 资产信息表* </p>** @author PineTree* @since 2025-02-16*/
@TableName("t_asset_info")
@ApiModel(value = "AssetInfo对象", description = "资产信息表")
@Data
public class AssetInfoDTO implements Serializable {private static final long serialVersionUID = 1L;@ApiModelProperty("资产编号")@TableId(value = "asset_number", type = IdType.ASSIGN_UUID)private String assetNumber;@ApiModelProperty("资产状态	10:正常	20:使用	30:闲置	40:报废	50:封存	60:盘点中	70:在途")private String assetStatus;@ApiModelProperty("使用部门名称")private String useDeptCode;@ApiModelProperty("创建时间")private LocalDateTime createTime;@ApiModelProperty("创建人uuid")private String createByUuid;@ApiModelProperty("创建人账号")private String createByAccount;@ApiModelProperty("创建人名称")private String createByName;@ApiModelProperty("最后更新时间")private LocalDateTime lastUpdateTime;@ApiModelProperty("最后跟新人uuid")private String lastUpdateUuid;@ApiModelProperty("最后更新人账号")private String lastUpdateAccount;@ApiModelProperty("最后更新人名称")private String lastUpdateName;@ApiModelProperty("拓展属性1")private String extAttribute1;@ApiModelProperty("拓展属性2")private String extAttribute2;@ApiModelProperty("拓展属性3")private String extAttribute3;@ApiModelProperty("拓展属性4")private String extAttribute4;@ApiModelProperty("拓展属性5")private String extAttribute5;@ApiModelProperty("拓展属性6")private String extAttribute6;@ApiModelProperty("拓展属性7")private String extAttribute7;@ApiModelProperty("拓展属性8")private String extAttribute8;@ApiModelProperty("拓展属性9")private String extAttribute9;@ApiModelProperty("拓展属性10")private String extAttribute10;@ApiModelProperty("拓展属性11")private String extAttribute11;@ApiModelProperty("拓展属性12")private String extAttribute12;@ApiModelProperty("拓展属性13")private String extAttribute13;@ApiModelProperty("拓展属性14")private String extAttribute14;@ApiModelProperty("拓展属性15")private String extAttribute15;@ApiModelProperty("拓展属性16")private String extAttribute16;@ApiModelProperty("拓展属性17")private String extAttribute17;@ApiModelProperty("拓展属性18")private String extAttribute18;@ApiModelProperty("拓展属性19")private String extAttribute19;@ApiModelProperty("拓展属性20")private String extAttribute20;@ApiModelProperty("业务ID")private String bizId;}

controller层代码编写

由于使用了mybatis-plus,调用了通用service查询逻辑,只需编写controller即可

/*** <p>* 资产信息表 前端控制器* </p>** @author PineTree* @since 2025-02-16*/
@RestController
@RequestMapping("/assetInfo")
public class AssetInfoController {@Resourceprivate IAssetInfoService assetInfoService;@PostMapping("{bizId}/byBizId")public Result getAssetInfoByBizId(@PathVariable("bizId") String bizId) {if (StringUtils.isEmpty(bizId)) {return Result.ok();}QueryWrapper<AssetInfoDTO> queryWrapper = new QueryWrapper<>();queryWrapper.eq("biz_id", bizId);List<AssetInfoDTO> assetInfoList = assetInfoService.list(queryWrapper);return Result.ok().data("assetInfoList", assetInfoList);}
}

postMan接口测试

启动本地后端,base_url为api collection维度的全局环境变量,此处设置为本地8888端口,可方便后续切换
在这里插入图片描述

联调

点击tab按钮,可以观察到成功从前端5173端口代理到8888并获取到了响应数据
在这里插入图片描述

代码仓

前端代码

https://gitee.com/pinetree-cpu/hello_vue3
master分支

后端代码

https://gitee.com/pinetree-cpu/parent-demon
pine_tree_dev分支

欢迎评论区留言&讨论

相关文章:

vue3配置代理实现axios请求本地接口返回PG库数据【前后端实操】

前端编写 安装 axios 如果当前未安装axios&#xff0c;可以执行如下指令安装 npm install axios配置代理 当前为基于Vite构建的项目&#xff0c;在 vite.config.ts 中配置代理&#xff0c;在defineConfig中新增server配置&#xff0c;主要关注两个点&#xff1a; 一、需要代…...

论文阅读:2023 arxiv Multiscale Positive-Unlabeled Detection of AI-Generated Texts

总目录 大模型安全相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 Multiscale Positive-Unlabeled Detection of AI-Generated Texts https://arxiv.org/abs/2305.18149 https://www.doubao.com/chat/2114270649152258 https://github.com/YuchuanTi…...

【数学建模】最大最小值模型详解

数学建模中的最大最小值模型详解 文章目录 数学建模中的最大最小值模型详解引言最大最小值模型的基本概念最大化问题最小化问题 常见的求解方法1. 微积分法2. 线性规划3. 非线性规划4. 动态规划 实际应用案例案例1&#xff1a;生产规划问题案例2&#xff1a;投资组合优化 最大最…...

Camera2 实现重力感应四个方向调试相机预览

Camera2API 实现重力感应四个方向调试相机预览 文章目录 需求场景 需求实现setAspectRatio 设置显示长宽postScale postRotate 设置缩放和旋转manager.openCamera 打开相机startPreviewgetPreviewRequestBuilder 设置预览参数&#xff1a;createCaptureSession 预览准备工作set…...

C++::多态

目录 一.多态的概念 二.多态的定义及实现 二.1多态的构成条件 二.2虚函数 1.虚函数的写法 2.虚函数的重写/覆盖 3.协变 二.3析构函数的重写 二.4override和final关键字 ​编辑二.5重载/重写/隐藏的对比 三.多态的运行原理&#xff08;一部分&#xff09; 四.多态的常…...

278.缀点成线

1232. 缀点成线 - 力扣&#xff08;LeetCode&#xff09; class Solution {public boolean checkStraightLine(int[][] coordinates) {if(coordinates.length2){return true;}int xcoordinates[1][0]-coordinates[0][0];int ycoordinates[1][1]-coordinates[0][1];for(int i1;i…...

xssgame第8关注入详解

1.SVG利用实现xss攻击 1.代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>tes…...

《数据库原理》SQLServer期末复习_题型+考点

目录 题型&#xff1a; 一. 概况分析题&#xff08;5小题&#xff0c;每小题2分&#xff0c;共10分&#xff09; 二. 计算题&#xff08;3小题&#xff0c;每小题5分&#xff0c;共15分&#xff09; 三. 数据库设计&#xff08;2小题&#xff0c;每小题10分&#xff0c;共2…...

RK3588开发笔记-RTL8852wifi6模块驱动编译报错解决

目录 前言 一、问题背景 二、驱动编译 总结 前言 在基于 RK3588 进行开发,使用 RTL8852 WiFi6 模块时,遇到了一个让人头疼的驱动编译报错问题:“VFs_internal_I_am_really_a_filesystem_and_am_NoT_a_driver, but does”。经过一番摸索和尝试,最终成功解决了这个问题,在…...

机器学习算法实战——天气数据分析(主页有源码)

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​ ​​​ 1. 引言 天气数据分析是气象学和数据科学交叉领域的一个重要研究方向。随着大数据技术的发展&#xff0c;气象数据的采集、存储和分…...

java项目之基于ssm的毕业论文管理系统(源码+文档)

项目简介 毕业论文管理系统实现了以下功能&#xff1a; 本毕业论文管理系统主要实现的功能模块包括学生模块、导师模块和管理员模块三大部分&#xff0c;具体功能分析如下&#xff1a; &#xff08;1&#xff09;导师功能模块&#xff1a;导师注册登录后主要功能模块包括个人…...

【Vue3入门1】02- vue3的基本操作(上)

本文介绍vue3中的一些方法的操作。 目录 1. 绑定事件 v-on 2. 按键修饰符 3. 显示和隐藏 v-show 4. 条件渲染 v-if 5. 条件渲染if-else 1. 绑定事件 v-on 点击事件 v-on:click" 发生事件 " <body><div id"app">{{ msg }} <h2&g…...

Redis集群搭建和高可用方案(Java实现)

Redis集群搭建和高可用方案(Java实现) 我将详细介绍如何使用Java技术搭建Redis集群并实现高可用方案。 1. Redis集群架构概述 Redis集群可以通过以下几种方式实现: 主从复制Sentinel哨兵模式Redis Cluster集群模式2. 使用Java实现Redis集群连接 2.1 使用Jedis客户端 Je…...

【大模型算法工程】大模型应用工具化、忠诚度以及知识库场景下PDF双栏解析问题的讨论

1. 大模型时代应用工具化以及无忠诚度现象讨论 接触大模型久了&#xff0c;也慢慢探到一些大模型能力表现非常自然和突出的场景&#xff0c;比如AI搜索&#xff08;依赖大模型的理解总结能力&#xff09;、AI对话&#xff08;即chat&#xff0c;依赖大模型的生成能力&#xff0…...

Rust语言学习

Rust语言学习 通用编程概念所有权所有权引用和借用slice struct(结构体)定义并实例化一个结构体使用结构体方法语法 枚举 enums定义枚举match控制流运算符if let 简单控制流 使用包、Crate和模块管理不断增长的项目&#xff08;模块系统&#xff09;包和crate定义模块来控制作用…...

AI比人脑更强,因为被植入思维模型【16】反脆弱

毛选中就有言&#xff0c;不经历困难&#xff0c;我们就不会掌握战胜困难的方法。 这个世界纷繁复杂&#xff0c;不是强者总是运气好&#xff0c;而是他们能够失败后快速复原&#xff0c;不断找到战胜困难的方法。 定义 马斯洛需求层次模型是一种将人类需求从低到高按层次进…...

系统架构设计知识体系总结

1.技术选型 1.什么是技术选型&#xff1f; 技术选型是指评估和选择在项目或系统开发中使用的最合适的技术和工具的过程。这涉及考虑基于其能力、特性、与项目需求的兼容性、可扩展性、性能、维护和其他因素的各种可用选项。技术选型的目标是确定与项目目标相符合、能够有效解…...

计算机视觉的多模态模型

计算机视觉的多模态模型 是指能够同时处理和理解 多种类型数据&#xff08;模态&#xff09; 的模型。这些模态可以包括图像、文本、音频、视频、深度信息等。多模态模型的核心目标是利用不同模态之间的互补信息&#xff0c;提升模型的性能和泛化能力。 1. 多模态模型的核心思想…...

Scrapy 入门教程

Scrapy 入门教程 Scrapy 是一个用于爬取网站数据的 Python 框架&#xff0c;功能强大且易于扩展。本文将介绍 Scrapy 的基本概念、安装方法、使用示例&#xff0c;并展示如何编写一个基本的爬虫。 1. 什么是 Scrapy&#xff1f; Scrapy 是一个开源的、用于爬取网站数据的框架…...

Oracle OCP认证是否值得考?

Oracle OCP&#xff08;Oracle Certified Professional&#xff09;认证是数据库领域的传统权威认证&#xff0c;但随着云数据库和开源技术的崛起&#xff0c;其价值正面临分化。是否值得考取&#xff0c;需结合你的职业定位、行业需求及长期规划综合判断。以下是关键分析&…...

OpenCV中距离公式

一、各类距离公式总结 常见距离公式 欧氏距离&#xff1a; 曼哈顿距离&#xff08;L1&#xff09;‌&#xff1a; 切比雪夫距离&#xff08;Chessboard&#xff09;‌&#xff1a; 1、点与点距离(欧氏距离) ‌二维空间‌ 设两点坐标为 P1(x1,y1)、P2(x2,y2)&#xff0c;其距离…...

DeepSeek自学手册:《从理论(模型训练)到实践(模型应用)》|73页|附PPT下载方法

导 读INTRODUCTION 今天分享是由ai呀蔡蔡团队带来的DeepSeek自学手册&#xff1a;《从理论&#xff08;模型训练&#xff09;到实践&#xff08;模型应用&#xff09;》&#xff0c;这是一篇关于DeepSeek模型训练、应用场景及替代方案的综合指南文章&#xff0c;主要介绍了Deep…...

Doris官网上没有的一些Fe参数了,都在源码中

一、FE配置源码 apache-doris-src\fe\fe-common\src\main\java\org\apache\doris\common\Config.java 二、BE配置源码 apache-doris-src\be\src\common\config.cpp 三、FE源码 package org.apache.doris.common;public class Config extends ConfigBase {ConfField(descri…...

(一)丶Windows安装RabbitMQ可能会遇到的问题

一丶可能会忘了配置ERLang的环境变量 二丶执行命令时报错 第一步 rabbitmq-plugins enable rabbitmq_management 第二部 rabbitmqctl status 三丶修改.erlang.cookie 文件 1.找到C盘目下的.erlang.cookie文件 C:\Users\admin\.erlang.cookie C:\Windows\System32\config\sys…...

stm32g030移植RT-Thread

移植流程 移植前需要安装Keil.STM32G0xx_DFP.1.2.0.pack组件&#xff0c;大致的移植过程&#xff1a; CubeMX配置RT-Thread组件配置工程模板配置 参考例程配置&#xff1a;拷贝仓库原有的stm32g070-st-nucleo工程&#xff0c;然后另起一个名字&#xff0c;目录结构如下 完整…...

Parsing error: Unexpected token, expected “,“

今天在使用Trae AI 编程工具开发大文件切片上传功能&#xff0c;使用的是VUE3,TS技术栈&#xff0c;开发完成运行时&#xff0c;编译报错&#xff08;Parsing error: Unexpected token, expected ","&#xff09;&#xff0c;让AI自行修复此问题多次后还是没有解决&a…...

Day23: 数组中数字出现的次数

整数数组 sockets 记录了一个袜子礼盒的颜色分布情况&#xff0c;其中 sockets[i] 表示该袜子的颜色编号。礼盒中除了一款撞色搭配的袜子&#xff0c;每种颜色的袜子均有两只。请设计一个程序&#xff0c;在时间复杂度 O(n)&#xff0c;空间复杂度O(1) 内找到这双撞色搭配袜子的…...

目标检测——清洗数据

清洗VOC格式数据集代码示例 import os import xml.etree.ElementTree as ETdef process_annotations(image_folder, annotation_folder):# 遍历标签文件夹中的所有XML文件for xml_file in os.listdir(annotation_folder):if not xml_file.endswith(.xml):continuexml_path os…...

嵌入式基础知识学习:UART是什么?

UART&#xff08;Universal Asynchronous Receiver/Transmitter&#xff0c;通用异步收发传输器&#xff09;是一种广泛应用于嵌入式系统和通信设备的异步串行通信协议。它通过两根数据线&#xff08;TX和RX&#xff09;实现设备间的全双工数据传输&#xff0c;无需共享时钟信号…...

SpringBoot项目实战(初级)

目录 一、数据库搭建 二、代码开发 1.pom.xml 2.thymeleaf模块处理的配置类 3.application配置文件 4.配置&#xff08;在启动类中&#xff09; 5.编写数据层 ②编写dao层 ③编写service层 接口 实现类 注意 补充&#xff08;注入的3个注解&#xff09; 1.AutoWir…...

合成层优化

以下是关于 合成层(Composite Layer)优化 的系统梳理,涵盖基础原理、触发条件、优化策略及进阶实践,帮助深入理解如何通过分层渲染提升页面性能: 一、合成层基础概念 1. 什么是合成层? 定义:浏览器将页面元素提升为独立的图形层(Graphics Layer),由 GPU 单独处理,避…...

什么是MCP|工作原理是什么|怎么使用MCP|图解MCP

写在前面 Manus的爆火似乎推动了MCP的出圈&#xff0c;虽然Manus没有用MCP。这篇文章我们就讲讲MCP&#xff0c;当然我也是最近才学习到MCP的&#xff0c;如果理解有误的地方&#xff0c;欢迎评论区指出&#xff01; 1. 为什么需要MCP&#xff1f; 1.1 LLM 现状 我们都知道…...

《Partial-label learning with a guided Prototypical classifier》23年CVPR 文献速读

论文地址 1. 引言 本文介绍了一种用于部分标签学习&#xff08;Partial-Label Learning, PLL&#xff09;的新框架 PaPi&#xff08;Partial-label learning with a guided Prototypical classifier&#xff09;&#xff0c;旨在提高在视觉任务中处理部分标签数据时的性能。部…...

GitLens with `Commit Graph`

文章目录 GitLens with Commit Graph GitLens with Commit Graph 自己打包的 GitLens&#xff0c;能够查看 commit graph。 GitLens 持续更新中 下载之后&#xff0c;通过 VSCode 插件直接安装即可使用。...

python每日十题(6)

】函数定义&#xff1a;函数是指一组语句的集合通过一个名字&#xff08;函数名&#xff09;封装起来&#xff0c;要想执行这个函数&#xff0c;只需要调用其函数名即可。函数能提高应用的模块性和代码的重复利用率 在Python语言中&#xff0c;用关键字class来定义类 在Python语…...

UniRel论文复现过程中的问题解决办法(全)

注解写在前面&#xff1a;本文仅为解决各位同学在复现时面对的问题&#xff0c;有问题可以评论&#xff0c;看见会回复&#xff01;&#xff01;&#xff01; [顶刊论文]UniRel:Unified Representation and Interaction for Joint Relational Triple Extraction2022.11.16&…...

js逆向之断点调试

1.XHR/提取断点用法 当刷新页面时候&#xff0c;有大量请求&#xff0c;并且你无法定位参数信息的时候&#xff0c;或者参数被混淆无法搜到&#xff0c;可以用该方法&#xff0c;该方法是会捕获所有请求连接&#xff0c;然后我们通过连接过滤出自己想要的请求&#xff0c;然后…...

Unity Shader编程】之渲染流程之深度及pass详解

关于透明物体的渲染&#xff0c;首先需要了解以下部分 深度缓冲区深度写入深度测试pass渲染和深度测试的过程深度测试和颜色混合过程 ** 一&#xff0c;深度缓冲区 ** 深度即物体距离相机的距离&#xff0c;深度写入即是把物体的距离相机信息记录下来&#xff0c;写入一个名…...

【算法笔记】图论基础(一):建图、存图、树和图的遍历、拓扑排序、最小生成树

目录 何为图论图的概念 图的一些基本概念有向图和无向图带权图连通图和非连通图对于无向图对于有向图 度对于无向图对于有向图一些结论 环自环、重边、简单图、完全图自环重边简单图 稀疏图和稠密图子图、生成子图同构 图的存储直接存边邻接矩阵存边邻接表存边链式前向星存边 图…...

Compose 原理解析

Compose 的组件都是放在 setContent() 之后才能显示的&#xff0c;那需要先看看这个函数的作用。 先看 ComponentActivity 的扩展函数 setContent()&#xff1a; /*** 将给定的可组合项合成到给定的 Activity 中。[content] 将成为给定 Activity 的根视图。* 这大致相当于使用…...

pyspark学习rdd处理数据方法——学习记录

python黑马程序员 """ 文件&#xff0c;按JSON字符串存储 1. 城市按销售额排名 2. 全部城市有哪些商品类别在售卖 3. 上海市有哪些商品类别在售卖 """ from pyspark import SparkConf, SparkContext import os import jsonos.environ[PYSPARK_P…...

个人学习编程(3-22) leetcode刷题

连续子数组&#xff1a;&#xff08;难&#xff09; 示例 1: 输入: nums [0,1] 输出: 2 说明: [0, 1] 是具有相同数量 0 和 1 的最长连续子数组。 示例 2: 输入: nums [0,1,0] 输出: 2 说明: [0, 1] (或 [1, 0]) 是具有相同数量0和1的最长连续子数组。 需要理解的知识&a…...

RabbitMQ八股文

RabbitMQ 核心概念与组件 1. RabbitMQ 核心组件及其作用 1.1 生产者&#xff08;Producer&#xff09; 作用&#xff1a;创建并发送消息到交换机。特点&#xff1a;不直接将消息发送到队列&#xff0c;而是通过交换机路由。 1.2 交换机&#xff08;Exchange&#xff09; 作…...

运维面试题(七)

1.statefulset用来管理有状态的应用程序&#xff0c;有状态是什么意思&#xff1f; 每一个pod都有一个固定的网络标识符&#xff0c;在整个生命周期中不会改变。每个实例都可以拥有自己的持久化存储卷&#xff0c;即使容器被删除并重新创建&#xff0c;存储卷仍然存在。Statef…...

【项目设计】网页版五子棋

文章目录 一、项目介绍1.项目简介2.开发环境3.核心技术4.开发阶段 二、Centos-7.6环境搭建1.安装wget工具2.更换软件源(yum源)3.安装scl工具4.安装epel软件源5.安装lrzsz传输工具6.安装高版本gcc/g编译器7.安装gdb调试器8.安装git9.安装cmake10.安装boost库11.安装Jsoncpp库12.…...

Netty——BIO、NIO 与 Netty

文章目录 1. 介绍1.1 BIO1.1.1 概念1.1.2 工作原理1.1.3 优缺点 1.2 NIO1.2.1 概念1.2.2 工作原理1.2.3 优缺点 1.3 Netty1.3.1 概念1.3.2 工作原理1.3.3 优点 2. Netty 与 Java NIO 的区别2.1 抽象层次2.2 API 易用性2.3 性能优化2.4 功能扩展性2.5 线程模型2.6 适用场景 3. 总…...

Docker 安装 Mysql

以下是安装Docker版MySQL 8.0.25并实现目录挂载的步骤&#xff1a; docker仓库&#xff1a;https://hub.docker.com/_/mysql 1. 拉取Mysql镜像文件 docker pull mysql:8.0.252. 创建mysql临时容器服务 docker run -d \--name mysql \-p 3306:3306 \-e MYSQL_ROOT_PASSWORD123…...

Electron打包文件生成.exe文件打开即可使用

1 、Electron 打包&#xff0c;包括需要下载的内容和环境配置步骤 注意&#xff1a;Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台桌面应用程序的框架 首先需要电脑环境有Node.js 和 npm我之前的文章有关nvm下载node的说明也可以去官网下载 检查是否有node和npm环…...

线程和协程的区别了解

1.资源消耗 调度方式&#xff1a;线程由操作系统内核调度&#xff08;抢占式&#xff09;&#xff0c;协程由程序自己控制调度&#xff08;协作式&#xff09;。切换开销&#xff1a;线程切换涉及内核态与用户态的转换&#xff0c;开销大&#xff1b;协程只在用户态切换上下文…...

楼宇自控系统的结构密码:总线与分布式结构方式的差异与应用

在现代建筑中&#xff0c;为了实现高效、智能的管理&#xff0c;楼宇自控系统变得越来越重要。它就像建筑的 智能管家&#xff0c;可自动控制照明、空调、通风等各种机电设备&#xff0c;让建筑运行更顺畅&#xff0c;还能节省能源成本。而在楼宇自控系统里&#xff0c;有两种关…...