管理系统类毕设(六)---完善后端接口以及前端接入(接入了学生的查询 新增 修改 教师,考试,成绩类似于学生)

后端接口已经完成开发
完善后端接口以及前端接入(接入了学生的查询 新增 修改 教师,考试,成绩类似于学生)
代码已更新 https://github.com/dmhsq/edusys
github代码尚未完全加注释(困)
目前效果如下
在这里插入图片描述

完善后端,接入前端

  • 后端完善
    • 新增修改和新增接口
    • 修改服务
      • 说明
    • 代码
  • 前端接入
    • 配置代理
    • 配置接口接入
      • 配置axios
      • 配置请求方法
    • 接入
      • 说明
      • 接入新增
    • 前端代码会在基础功能开发完毕放置github

后端完善

新增修改和新增接口

@PostMapping("/admin/change")public RespBean change(@RequestParam("type") Integer type,@RequestBody Object object){return reviseService.change(type,object);}@PostMapping("/admin/add")public RespBean add(@RequestParam("type") Integer type,@RequestBody Object object){return addService.add(type,object);}

修改服务

说明

根据类型判断类型 然后转换
转换语句如下

 ObjectMapper objectMapper =new ObjectMapper();Student student = objectMapper.convertValue(object,Student.class);Optional<Student> studentOptional = studentRepository.findById(student.getUserId());

代码

新增 和 修改 类似 只是删除了以下语句

Optional<Student> studentOptional = studentRepository.findById(student.getUserId());if (!studentOptional.isPresent()){return RespBean.error("失败","不存在学生信息");}

修改服务整体代码块如下

package edusys.one.service;import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.util.JSONPObject;
import edusys.one.dao.ExamRepository;
import edusys.one.dao.ResultRepository;
import edusys.one.dao.StudentRepository;
import edusys.one.dao.TeacherRepository;
import edusys.one.domain.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.Optional;/*** @Author: 张灿* @Time: 2021/1/10 15:41*/
@Service
public class ReviseService {@AutowiredExamRepository examRepository;@AutowiredResultRepository resultRepository;@AutowiredStudentRepository studentRepository;@AutowiredTeacherRepository teacherRepository;public RespBean change(Integer type,Object object){Integer zero=0,one=1,two=2,three=3;if (type.equals(zero)){return changeStu(object);}else if (type.equals(one)){return changeTch(object);}else if (type.equals(two)){return changeExam(object);}else if (type.equals(three)){return changeRust(object);}return RespBean.error("错误","错误");}private RespBean changeStu(Object object){ObjectMapper objectMapper =new ObjectMapper();Student student = objectMapper.convertValue(object,Student.class);Optional<Student> studentOptional = studentRepository.findById(student.getUserId());if (!studentOptional.isPresent()){return RespBean.error("失败","不存在学生信息");}studentRepository.saveAndFlush(student);return RespBean.ok("成功",true);}private RespBean changeTch(Object object){ObjectMapper objectMapper =new ObjectMapper();Teacher teacher = objectMapper.convertValue(object, Teacher.class);Optional<Teacher> teacherOptional = teacherRepository.findById(teacher.getTeacherId());if (!teacherOptional.isPresent()){return RespBean.error("失败","不存在老师信息");}teacherRepository.saveAndFlush(teacher);return RespBean.ok("成功",true);}private RespBean changeExam(Object object){ObjectMapper objectMapper =new ObjectMapper();Exam exam = objectMapper.convertValue(object, Exam.class);Optional<Exam> examOptional = examRepository.findById(exam.getExamId());if (!examOptional.isPresent()){return RespBean.error("失败","不存在老师信息");}examRepository.saveAndFlush(exam);return RespBean.ok("成功",true);}private RespBean changeRust(Object object){ObjectMapper objectMapper =new ObjectMapper();Result result = objectMapper.convertValue(object, Result.class);Optional<Result> resultOptional = resultRepository.findByUserIdEqualsAndExamIdEquals(result.getUserId(),result.getExamId());if (!resultOptional.isPresent()){return RespBean.error("失败","不存在考试/考生信息");}resultRepository.saveAndFlush(result);return RespBean.ok("成功",true);}}

前端接入

配置代理

在这里插入图片描述
添加如下代码(目前测试 后会修改)

devServer:{proxy:{"/api": {target: "http://localhost:8086/edusys/admin",changeOrigin: true,pathRewrite: {"^/api": ""}},"/login": {target:"http://localhost:8086/edusys/oauth/token?grant_type=password&client_id=password&client_secret=123&scope=all",changeOrigin: true,pathRewrite: {"^/login": ""}}}}

在这里插入图片描述

配置接口接入

在这里插入图片描述

配置axios

尚未统一封装 只测试了三个接口外加登陆接口
在这里插入图片描述
每次发送前携带access_token

import axioes from "axios";
const axios = axioes.create({timeout: 3000,headers: {"Content-Type": "multipart/form-data"}
});const login = (username, password) => {return axioes.post(`/login&username=${username}&password=${password}`);
};
//配置请求拦截器 在发送前携带access_token
axios.interceptors.request.use(config => {let token = localStorage.getItem("access_token");if (token) {config.headers.authorization = "bearer" + token;}return config;},error => {return Promise.reject(error);}
);export { login, axios };

配置请求方法

在这里插入图片描述

import { login, axios } from "./axiosFun";//查询信息
export const find = params => {return axios.get("/api/find", { params: params });
};
//修改信息
export const change = (type, data) => {return axios.post(`/api/change?type=${type}`, JSON.stringify(data),{headers:{"Content-Type": "application/json"}});
};
//新增
export const add = (type, data) => {return axios.post(`/api/add?type=${type}`, JSON.stringify(data),{headers:{"Content-Type": "application/json"}});
};//登陆
export const doLogin = (username, password) => {return login(username, password);
};

接入

在这里插入图片描述

说明

这里使用了分页功能
代码在放置仓库时会加注释
在这里插入图片描述

接入新增

在这里插入图片描述

表单内容如下
在这里插入图片描述

前端代码会在基础功能开发完毕放置github







  大家好,我是代码哈士奇,是一名软件学院网络工程的学生,因为我是“狗”,狗走千里吃肉。想把大学期间学的东西和大家分享,和大家一起进步。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只在csdn这一个平台进行更新,博客主页:https://blog.csdn.net/qq_42027681。

未经本人允许,禁止转载

在这里插入图片描述


后续会推出

前端:vue入门 vue开发小程序 等
后端: java入门 springboot入门等
服务器:mysql入门 服务器简单指令 云服务器运行项目
python:推荐不温卜火 一定要看哦
一些插件的使用等

大学之道亦在自身,努力学习,热血青春
如果对编程感兴趣可以加入我们的qq群一起交流:974178910
在这里插入图片描述

有问题可以下方留言,看到了会回复哦

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

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

相关文章

毕业设计-基于微信小程序的校友社区网络管理系统

目录 前言 课题背景与简介 实现设计思路 一、平台的选择与市场现状 二、系统设计 三、设计情况 实现效果样例 更多帮助 前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个…

计算机毕设Python+Vue学院校友信息管理系统的(程序+LW+部署)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

计算机毕设Python+Vue校园社团信息管理系统(程序+LW+部署)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

计算机毕设Python+Vue校园社团管理系统(程序+LW+部署)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

两周搞定计算机专业毕业设计,附源码+论文+答辩

毕设论文答辩通关法则&#xff0c;看这一篇&#xff0c;源码都在下面了&#xff01;写在前面&#xff0c;尽管论文方法和毕设源码都有&#xff0c;但还是要看课自己敲完完善好。做好充分准备面对答辩。 文章目录 一、毕设二、论文2.1 论文标题2.2 确定论文大纲2.3 论文内容2.3.…

毕业设计-基于微信小程序投票系统

目录 前言 课题背景与简介 实现设计思路 一、微信投票小程序需求方法分析 二、微信投票小程序功能结果实现 三、总结 实现效果样例 更多帮助 前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费…

新生报到小程序毕业设计,新生报到管理系统设计与实现,毕设作品参考

功能清单 【后台管理员功能】 广告管理&#xff1a;设置小程序首页轮播图广告和链接 留言列表&#xff1a;所有用户留言信息列表&#xff0c;支持删除 录入资讯&#xff1a;录入资讯标题、内容等信息 管理资讯&#xff1a;查看已录入资讯列表&#xff0c;支持删除和修改 学校…

如何做一个基于python校园排课选课系统毕业设计毕设作品(Django框架)

分析架构 我们开发系统&#xff0c;常规有两个架构&#xff0c;一个BS架构&#xff08;浏览器/服务器模式&#xff09;&#xff0c;一个CS&#xff08;客户端/服务器端模式&#xff09;&#xff1b;基于Python&#xff08;Django框架&#xff09;的网站开发属于B/S架构&#x…

毕业设计-基于微信小程序的实验室信息管理系统

目录 前言 课题背景与简介 实现设计思路 一、微信小程序 二、系统设计 三、系统实现 四、总结 实现效果样例 更多帮助 前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个…

大数据毕业设计可视化大屏前后端项目分享

1、前言 很久没有分享过可视化大屏的项目了&#xff0c;距离上次分享基于Echarts的数据可视化大屏系统设计分享这篇可视化系统已经过去了整整一年有余。当时分享这篇博客没想到会收获这么多的阅读量&#xff0c;并且在刚发布的时候&#xff0c;还上了CSDN的博客热搜2&#xff…

【毕业设计】大数据招聘数据分析可视化 - python

文章目录 0 前言1 数据集说明2 数据处理2.1 数据清洗2.2 数据导入 3 数据分析可视化3.1 整体情况&#xff08;招聘企业数、岗位数、招聘人数、平均工资&#xff09;3.2 企业主题3.2.1 行业情况3.2.2 公司类型3.2.3 最缺人的公司 TOP3.2.4 平均薪资最高的公司 TOP3.2.5 工作时间…

【计算机毕业设计】师生交流平台

一、系统截图&#xff08;需要演示视频可以私聊&#xff09; 目 录 摘 要 Abstract 第1章 前 言 2 1.1 研究背景 1.2 研究现状 1.3 系统开发目标 第2章 系统开发环境 2.1 java简介 2.2 Mysql数据库 2.3 B/S结构 2.4 JSP介绍 第3章 需求分析 3.1 需求…

大二毕设.1-学生信息管理系统-练手的

目录 技术选型: 功能概括: 可扩展性良好&#xff0c;添加其余操作无非是多加点信息&#xff0c;重复编码改数据罢 版本: 基本演示 功能实现讲解 登录校验 可调整每页条数的分页显示与增删查改 不会造成偷窃的部分web代码 技术选型: 前端: Vue Element UI后端: Spring…

【毕设系列】电子信息/通信仿真/图像专业课程设计/毕业设计项目汇总

Date&#xff1a;2022.4.14 文章目录 1、通信仿真2、图像处理3、图像识别4、语音处理5、视频编解码 1、通信仿真 2、图像处理 3、图像识别 4、语音处理 5、视频编解码 THE END!

【毕设选题】最新电子信息工程毕业设计项目合集 - 100例

文章目录 1前言2 如何选题2.1 嵌入式开发方向2.2 物联网方向2.3 移动通信方向2.4 人工智能方向2.5 算法研究方向2.6 移动应用开发方向2.7 网络通信方向2.8 学长作品展示 3 最后 1前言 &#x1f947; 近期不少学弟学妹询问学长关于电子信息工程专业相关的毕设选题&#xff0c;学…

【毕设选题】最新通信工程毕业设计项目合集 - 100例

文章目录 1前言2 如何选题2.1 移动通信方向2.2 嵌入式开发方向2.3 人工智能方向2.4 物联网方向2.5 算法研究方向2.6 移动应用开发方向2.7 网络通信方向2.8 学长作品展示 4 最后 1前言 &#x1f947; 近期不少学弟学妹询问学长关于通信工程相关的毕设选题&#xff0c;学长特意写…

GEE代码解释-毕设版【chatgpt】

ee.ImageCollection和ee.ImageCollection.fromImages有什么区别&#xff1f; 【ee.ImageCollection 和 ee.ImageCollection.fromImages 是两种不同的方法&#xff0c;用于从图像集中获取图像。 ee.ImageCollection 是一个函数&#xff0c;它将一个或多个图像集合成一个图像集。…

万能Prompt句式拆解,人人都是Prompt 工程师

正文共 1318字&#xff0c;阅读大约需要 5 分钟 内容特辑&#xff0c;介绍单一技能的同时今天我们添加一个Prompt造句模板&#xff0c;学会这个&#xff0c;你会成为一个优秀的Prompt Engineer ~ 快去学习、收藏、下载资料包&#xff0c;输出你的独立Prompt吧 ~ 推荐人 | 互联…

ChatGPT专业应用:品牌简介自动生成

正文共 572字&#xff0c;阅读大约需要 3 分钟 品牌营销/新媒体运营人群必备技巧&#xff0c;您将在3分钟后获得以下超能力&#xff1a; 一句话品牌简介速成 Beezy评级 &#xff1a;B级 *经过简单的寻找&#xff0c; 大部分人能立刻掌握。主要节省时间。 推荐人 | 爱管闲事…

全新插件版Beezy喳喳蜂带来独特功能

作为一款备受欢迎的AI应用软件&#xff0c;Beezy喳喳蜂一直致力于为用户打造卓越体验。在不断迭代、改进的过程中&#xff0c;我们收到许多用户的宝贵建议和期待。 现在&#xff0c;全新插件版Beezy喳喳蜂即将上线&#xff01;此次升级&#xff0c;我们带来了众多前瞻功能助力您…