17.SpringBoot前后端分离项目之简要配置二

如何配置前端请求和后端响应(2)

登录接口

前端:
01

后端控制器:
在My3Controller

@RequestMapping("/login")
public @ResponseBody RestObject login(@RequestBody UserUI userUI){System.out.println("login方法"+userUI);RestObject restObject = new RestObject();restObject.setCode(1);restObject.setMsg("登录成功!!!");return restObject;
}

策略研究-市场表现研究-添加新策略接口

前端如何找入口

02
03

前端如何修改

04

后端如何搭建

JavaBean保存数据:SendSellUI

import lombok.Data;
@Data
public class SendSellUI {private String id;                  //策略编号private String name;            //策略名称private String region;          //上市区域private String[] date;             //上市时间 (0 开始日期,1 结束日期)private Double preUpper;   //前复权价(最高)private Double preLower;   //前复权价(最低)private Double chgUpper;  //涨跌幅(最高)private Double chgLower;  //涨跌幅(最低)private Double dealUpper; //成交额(最高)private Double dealLower;  //成交额(最低)
}

My3Controller

@RequestMapping("/sendSell")
public @ResponseBody RestObject sendSell(@RequestBody SendSellUI sendSellUI){System.out.println("sendSell方法"+sendSellUI);String randomID = UUID.randomUUID().toString().replaceAll("-", "");sendSellUI.setId(randomID);HashMap<String, String> map = new HashMap<>();map.put("id",randomID);RestObject restObject = new RestObject();restObject.setCode(1);restObject.setMsg("添加策略成功!!!");restObject.setData(map);return restObject;
}

策略研究-市场表现研究-策略列表维护

前端如何找入口

还原策略列表
如果在策略添加栏目田间了多个策略,需要删除的简单操作
05

06
07
08

前端如何修改

09

10

后端如何搭建

创建可以数据封装的JavaBean
011

import lombok.Data;import java.util.List;
@Data
public class SendSellTableUI {private String id;private String name;private List<SendSellTableItemUI> table;
}
import lombok.Data;@Data
public class SendSellTableItemUI {private String label;private String prop;private Boolean sortable;
}

My3Controller

//策略列表:模拟通过数据库保存了多个策略
List<SendSellTableUI> SendSellTableUIList = new ArrayList<>();
@RequestMapping("/sendList")
public @ResponseBody RestObject sendList(@RequestBody SendSellTableUI sendSellTableUI){System.out.println("sendList方法"+sendSellTableUI);SendSellTableUIList.add(sendSellTableUI);System.out.println(SendSellTableUIList.size());RestObject restObject = new RestObject();restObject.setCode(1);restObject.setMsg("添加策略成功!!!");return restObject;
}

策略研究-市场表现研究-列表托管展示

前端如何找入口

012
013

前端如何修改

014

// 请求策略推荐左侧列表接口
export async function leftList() {//从服务器获取策略列表let obj = await req.post('/my3/leftList');//如果服务器有策略列表,向服务器策略列表的头部添加乖离率if(obj.code==1 && obj.data.length>0){obj.data.unshift({"id": '000000',"name": 'BIAS乖离率推荐',"table": [{"label": "股票代码","prop": "stockCode","sortable": false,}, {"label": "股票名","sortable": false,"prop": "name",}, {"label": "交易日期","sortable": true,"prop": "date",}, {"label": "收盘价","sortable": true,"prop": "closingPrice",}, {"label": "乖离率","sortable": true,"prop": "bias",}]});//将最新的策略列表 同步到本地setStorage('leftList', obj.data);}//从浏览器本地获取策略列表的if (!localStorage['leftList']) {setStorage('leftList', [{"id": '000000',"name": 'BIAS乖离率推荐',"table": [{"label": "股票代码","prop": "stockCode","sortable": false,}, {"label": "股票名","sortable": false,"prop": "name",}, {"label": "交易日期","sortable": true,"prop": "date",}, {"label": "收盘价","sortable": true,"prop": "closingPrice",}, {"label": "乖离率","sortable": true,"prop": "bias",}],}]);}let arr = getStorage('leftList');return arr;
}

后端如何搭建

@RequestMapping("/leftList")
public @ResponseBody RestObject leftList(){System.out.println("leftList方法");RestObject restObject = new RestObject();restObject.setCode(1);restObject.setMsg("查询策略列表成功!!!");restObject.setData(SendSellTableUIList);return restObject;
}

策略-乖离率推荐-分页

前端如何找入口

分页开始的入口部分:
015

016

前端如何修改

使用真数据接口
017

后端如何搭建

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@NoArgsConstructor
@AllArgsConstructor
public class BIASUI {private String stockCode;private String name;private String date;private String closingPrice;private String bias;
}

控制器:

//准备模拟分页的数据
private Random random = new Random();
private List<BIASUI> biasuiList = new ArrayList<>(5000);
{//向集合中,添加5000条数据for (int i = 0; i <5000 ; i++) {biasuiList.add(new BIASUI("SH"+i,"股票"+i,"2000/01/01",random.nextDouble()*10+"",random.nextDouble()+""));}
}
//定义模拟分页的方法
public List<BIASUI> getBiasuiListByPage(Integer pageNum,Integer pageSize){List<BIASUI> list = new ArrayList<>();//专门有一个记录个数的变量count//模拟分页for (int i = (pageNum-1)*pageSize,count=0; count<pageSize; i++,count++) {try {list.add(biasuiList.get(i));} catch (Exception e) {//为了防止索引越界异常,出现了该异常,这里就忽略}}return list;
}
@RequestMapping("/gll")
public @ResponseBody RestObject gll(@RequestBody Map<String,Object> map){System.out.println("gll方法");System.out.println(map);//进行模拟分页List<BIASUI> list = getBiasuiListByPage(Integer.parseInt(map.get("pageNum").toString()), Integer.parseInt(map.get("pageSize").toString()));HashMap<String, Object> map2 = new HashMap<>();map2.put("rows",biasuiList.size());map2.put("list",list);RestObject restObject = new RestObject();restObject.setCode(1);restObject.setMsg("业务成功");restObject.setData(map2);return restObject;
}

SpringBoot前后端分离项目之简要配置至此结束!!!

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

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

相关文章

饲料化肥经营商城小程序的作用是什么

我国农牧业规模非常高&#xff0c;各种农作物和养殖物种类多&#xff0c;市场呈现大好趋势&#xff0c;随着近些年科学生产养殖逐渐深入到底层&#xff0c;专业的肥料及饲料是不少从业者需要的&#xff0c;无论城市还是农村都有不少经销店。 但在实际经营中&#xff0c;经营商…

《向量数据库指南》——AutoGPT 宣布不再使用向量数据库

生成式 AI 促进了向量数据库的火爆,但如今的技术风向变化似乎也挺快。作为全球最著名的 AI 项目之一,AutoGPT 宣布不再使用向量数据库,这一决定可能让不少人感到惊讶。毕竟从一开始,向量数据库就一直协助管理着 AI 智能体的长期记忆。 那么这个基本设计思路怎么就变了?又…

C语言,打印指定大小的X

要打印一个X&#xff0c;无非是在一个二维数组一个矩形中操作&#xff0c;将不是X的部分赋值为空格字符&#xff0c;将是X部分打印为*字符。 矩形的边长就是输入的n&#xff0c;由于矩形的边长是不固定的&#xff0c;所以要找到应该被赋值为*的坐标之间有什么数学关系。 以矩…

Matlab/C++源码实现RGB通道与HSV通道的转换(效果对比Halcon)

HSV通道的含义 HSV通道是指图像处理中的一种颜色模型&#xff0c;它由色调&#xff08;Hue&#xff09;、饱和度&#xff08;Saturation&#xff09;和明度&#xff08;Value&#xff09;三个通道组成。色调表示颜色的种类&#xff0c;饱和度表示颜色的纯度或鲜艳程度&#xf…

maven构建jar包运行后出现中文乱码问题解决

问题描述&#xff1a; 最近在接手一个坑时&#xff0c;发现本地打出来的jar包&#xff0c;到环境中运行之后总是出现中文乱码问题&#xff0c;但又不是全部中文乱码。经过排查发现&#xff0c;只有写在代码里的中文返回到前端之后出现了乱码。再通过解压打出来的jar包&#xff…

智能井盖是什么?万宾科技智能井盖传感器有什么特点

智能井盖是一种基于物联网和人工智能技术的新型城市设施。它不仅具备传统井盖的功能&#xff0c;还能通过数字化、自动化的方式实现远程监控和智能管理&#xff0c;提升城市运行效率和服务水平。 WITBEE万宾智能井盖传感器EN100-C2是一款井盖异动监测的传感终端。对窨井盖状态(…

Linux常用命令——colrm命令

在线Linux命令查询工具 colrm 删除文件中的指定列 补充说明 colrm命令用于删除文件中的指定列。colrm命令从标准输入设备读取书记&#xff0c;转而输出到标准输出设备。如果不加任何参数&#xff0c;则colrm命令不会过滤任何一行。 语法 colrm(参数)参数 起始列号&#…

Linux-JVM-CPU爆表调优

CPU爆表调优 一、自定义一个死循环测试类二、运行TestDemo类三、调优1、执行top命令2、执行ps命令3、执行jstack命令 一、自定义一个死循环测试类 第7行一定会死循环&#xff0c;永远出不去 public class TestDemo {public static void main(String[] args) {new Thread(null,(…

[BUUCTF newstar week2] crypto/pwn/reverse

难度上来了&#xff0c;而且比赛加多了&#xff0c;newStar/0xGame/SHCTF&#xff0c;moe也结束了&#xff0c;周末还有TCP1P&#xff0c;来不及写东西了。抓时间先一个个来吧。 crypto 滴啤 就是dp的意思&#xff0c;也就是泄露dp求分解 from Crypto.Util.number import *…

1.Vue-在独立页面实现Vue的增删改查

题记 在独立页面实现Vue的增删改查&#xff0c;以下是具体的代码&#xff0c;和操作流程。 编写index.html页面 index.html文件如下&#xff1a; <!DOCTYPE html> <html> <head><title>Vue CRUD Example</title><!--在线导入vue文件-->&l…

44springboot摄影跟拍预定管理系统

大家好✌&#xff01;我是CZ淡陌。一名专注以理论为基础实战为主的技术博主&#xff0c;将再这里为大家分享优质的实战项目&#xff0c;本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路…

【CesiumforUnreal插件】UE5 快速构建Cesium场景 快速入门!!!

目录 0 引言1 快速入门1.1 准备1.2 安装Cesium for Unreal插件并创建一个项目1.3 准备关卡并添加地形和纹理1.4 添加3D建筑到场景中1.5 探索场景 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;CesiumforUnreal专栏&#x1f4a5; 标题&#xff1a…