Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(六)后端改造
前文
JavaScript——易班优课YOOC课群在线测试自动答题解决方案(一)答案获取
Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(二)答案储存
Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(三)答案查询
JavaScript——易班优课YOOC课群在线测试自动答题解决方案(四)答案显示
JavaScript——易班优课YOOC课群在线测试自动答题解决方案(五)简单脚本
问题分析
Maven
<!--Spring Boot Web--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--Spring Mybatis--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.1</version></dependency><!--MyBatis-Plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.3.1.tmp</version></dependency>
解决方案
Controller
package club.zstuca.myzstu.controller;import club.zstuca.myzstu.dto.yooc.ExamDTO;
import club.zstuca.myzstu.dto.yooc.QuestionDTO;
import club.zstuca.myzstu.entity.yooc.Question;
import club.zstuca.myzstu.service.IYOOCExamQuestionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;/*** @Author ShenTuZhiGang* @Version 1.0.0* @Date 2020-04-26 08:26*/
@Controller
@CrossOrigin
@RequestMapping("/yooc")
public class YOOCController {@AutowiredIYOOCExamQuestionService iyoocExamQuestionService;@ResponseBody@RequestMapping(value = "/group/{groupId}/exam/{examId}/upload",method = RequestMethod.POST)public Object uploadExam(@PathVariable("groupId")String groupId,@PathVariable("examId")String examId,@RequestBody List<QuestionDTO> questionDTOS,HttpServletResponse response){response.setHeader("Content-Security-Policy","upgrade-insecure-requests");List<Question> questions = new ArrayList<>();for (QuestionDTO questionDTO: questionDTOS) {Question question =new Question(groupId,examId,questionDTO.getId().substring(9),questionDTO.getQuestion());questions.add(question);//System.out.println(question);}iyoocExamQuestionService.saveOrUpdateBatch(questions);return questions;}@ResponseBody@RequestMapping(value = "/group/{groupId}/exam/{examId}/answer",method = RequestMethod.GET)public Object getAnswerByQuestionId(@PathVariable("groupId")String groupId,@PathVariable("examId")String examId,@RequestParam("question") List<String> questions){List<QuestionDTO> questionDTOS = new ArrayList<>();for (String question:questions) {Question questiona=iyoocExamQuestionService.getById(question);if(questiona==null){questionDTOS.add(QuestionDTO.getNullQuestionDTO(question));}else{questionDTOS.add(new QuestionDTO(questiona.getId(),questiona.getQuestion()));}}return questionDTOS;}
}
无答案时
public static QuestionDTO getNullQuestionDTO(String id){QuestionDTO question = new QuestionDTO();question.setId(id);question.setQuestion("<div class=\"question-board\" id=\"question-"+id+"\">\n" +" <div class=\"the-ans fls\">\n" +" <p>这一题还没有正确的答案,快点上传吧!</p>\n" +" </div>\n" +" </div>");return question;}
参考文章
Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(六)后端改造相关推荐
- JavaScript + Thymeleaf + Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(十八)模板脚本
前文 JavaScript--易班优课YOOC课群在线测试自动答题解决方案(一)答案获取 Spring Boot--易班优课YOOC课群在线测试自动答题解决方案(二)答案储存 Spring Boot- ...
- Vue + Element UI + Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(十)问题管理页面
前文 JavaScript--易班优课YOOC课群在线测试自动答题解决方案(一)答案获取 Spring Boot--易班优课YOOC课群在线测试自动答题解决方案(二)答案储存 Spring Boot- ...
- JavaScript——易班优课YOOC课群在线测试自动答题解决方案(十九)强制重做
前文 JavaScript--易班优课YOOC课群在线测试自动答题解决方案(一)答案获取 Spring Boot--易班优课YOOC课群在线测试自动答题解决方案(二)答案储存 Spring Boot- ...
- JavaScript + Tampermonkey——易班优课YOOC课群在线测试自动答题解决方案(十七)复合型解决方案油猴脚本
前文 JavaScript--易班优课YOOC课群在线测试自动答题解决方案(一)答案获取 Spring Boot--易班优课YOOC课群在线测试自动答题解决方案(二)答案储存 Spring Boot- ...
- JavaScript——易班优课YOOC课群在线测试自动答题解决方案(十六)利用PC端和移动端BUG
前文 JavaScript--易班优课YOOC课群在线测试自动答题解决方案(一)答案获取 Spring Boot--易班优课YOOC课群在线测试自动答题解决方案(二)答案储存 Spring Boot- ...
- JavaScript——易班优课YOOC课群在线测试自动答题解决方案(十五)整合升级+引入jQuery
前文 JavaScript--易班优课YOOC课群在线测试自动答题解决方案(一)答案获取 Spring Boot--易班优课YOOC课群在线测试自动答题解决方案(二)答案储存 Spring Boot- ...
- Web安全——易班优课YOOC课群在线测试自动答题解决方案
基本概念 易班优课YOOC:优课YOOC"是易班网于2016年4月研发并推出的基于Social Learning的理念而开发的在线学习平台. 官方网站:https://www.yooc.me ...
- JavaScript——易班优课YOOC课群在线测试自动答题解决方案(十三)自动答题
前文 JavaScript--易班优课YOOC课群在线测试自动答题解决方案(一)答案获取 Spring Boot--易班优课YOOC课群在线测试自动答题解决方案(二)答案储存 Spring Boot- ...
- JavaScript——易班优课YOOC课群在线测试自动答题解决方案(十二)脚本整合
前文 JavaScript--易班优课YOOC课群在线测试自动答题解决方案(一)答案获取 Spring Boot--易班优课YOOC课群在线测试自动答题解决方案(二)答案储存 Spring Boot- ...
最新文章
- 多样性计算时代,怎样的技术生态才能满足发展需求
- CSS浏览器兼容汇总
- php前后端分离两个域名访问,Laravel 5.4前后台分离,通过不同的二级域名访问方法...
- 快速从入门到精通!mysql字符串截取前两位
- 《Docker技术从入门到实践》第3,4,5章(三大概念)
- Matplotlib可视化数据分析图表下(常用图表的绘制、折线图、柱形图、直方图、饼形图、散点图、面积图、热力图、箱形图、3D图表、绘制多个图表、双y轴可视化图表、颜色渐变图)
- 手机怎么用外嵌字幕_怎么用手机给视频添加字幕?原来方法这么简单,3分钟教你学会...
- win10影子系统蓝屏修复不了,已解决
- soundpool android,Android中用SoundPool播放音频
- Cisco Live 2016:CEO罗卓克谈英国脱欧、内部孵化以及向服务转型
- 在子页面控制父页面iframe的高度
- Altium-Designer6.9安装报错Application Error
- 怎么将计算机设置为光盘引导模式,通过bios设置从光盘/光驱启动的方法
- WP_支持XP的Windows Phone开发环境搭建:“文字+视频”教程(五)
- fastadmin需要php,fastadmin修改后台入口提示 模块不存在:admin.php
- 如何下载福建省卫星地图高清版大图
- Centos7 docker完美卸载
- lua的userdata的生存周期
- 《大数据系统基础》课程实践项目中期答辩顺利举行,清华持续探索大数据人才教育创新之路...
- gdal、proj、geos、sqlite等在VS2015下编译和配置
热门文章
- java编写单词数_JAVA flink小试——单词计数
- NLP 命名实体识别
- linux高端内存申请,Linux高端内存
- spirngmvc如何实现直接输入网页重定向到登录_Python 模拟新浪微博登录
- linux空指针异常能捕获到吗,一次kernel panic分析--空指针in handle_IRQ_event
- java mesos kubernete_Fabric8操作Kubernetes(一)
- 五十五、深入插入排序和选择排序
- 三十七、深入Vue.js组件Component(下篇)
- 十一、深入Java的判断语句
- 四十一、深入Java中的 File类