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

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

登录接口

前端:

后端控制器:

在My3Controller

java 复制代码
@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;
}

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

前端如何找入口


前端如何修改

后端如何搭建

JavaBean保存数据:SendSellUI

java 复制代码
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

java 复制代码
@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;
}

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

前端如何找入口

还原策略列表

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



前端如何修改

后端如何搭建

创建可以数据封装的JavaBean

java 复制代码
import lombok.Data;

import java.util.List;
@Data
public class SendSellTableUI {
   private String id;
   private String name;
   private List<SendSellTableItemUI> table;
}
java 复制代码
import lombok.Data;

@Data
public class SendSellTableItemUI {
   private String label;
   private String prop;
   private Boolean sortable;
}

My3Controller

java 复制代码
//策略列表:模拟通过数据库保存了多个策略
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;
}

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

前端如何找入口


前端如何修改

java 复制代码
// 请求策略推荐左侧列表接口
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;
}

后端如何搭建

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

策略-乖离率推荐-分页

前端如何找入口

分页开始的入口部分:

前端如何修改

使用真数据接口

后端如何搭建

java 复制代码
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;
}

控制器:

java 复制代码
//准备模拟分页的数据
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前后端分离项目之简要配置至此结束!!!

相关推荐
笃励16 分钟前
Java面试题二
java·开发语言·python
望森FPGA16 分钟前
HDLBits中文版,标准参考答案 |2.5 More Verilog Features | 更多Verilog 要点
学习·fpga开发
l1x1n027 分钟前
DOS 命令学习笔记
笔记·学习·web安全
易雪寒34 分钟前
IDEA在git提交时添加忽略文件
java·git·intellij-idea
道爷我悟了1 小时前
Vue入门-指令学习-v-on
javascript·vue.js·学习
打码人的日常分享1 小时前
企业人力资源管理,人事档案管理,绩效考核,五险一金,招聘培训,薪酬管理一体化管理系统(源码)
java·数据库·python·需求分析·规格说明书
27669582921 小时前
京东e卡滑块 分析
java·javascript·python·node.js·go·滑块·京东
爱写代码的刚子1 小时前
C++知识总结
java·开发语言·c++
冷琴19961 小时前
基于java+springboot的酒店预定网站、酒店客房管理系统
java·开发语言·spring boot
人工智能技术咨询.2 小时前
张雪峰谈人工智能技术应用专业的就业前景!
人工智能·学习·计算机视觉·语言模型