前文

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课群在线测试自动答题解决方案(六)后端改造相关推荐

  1. JavaScript + Thymeleaf + Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(十八)模板脚本

    前文 JavaScript--易班优课YOOC课群在线测试自动答题解决方案(一)答案获取 Spring Boot--易班优课YOOC课群在线测试自动答题解决方案(二)答案储存 Spring Boot- ...

  2. Vue + Element UI + Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(十)问题管理页面

    前文 JavaScript--易班优课YOOC课群在线测试自动答题解决方案(一)答案获取 Spring Boot--易班优课YOOC课群在线测试自动答题解决方案(二)答案储存 Spring Boot- ...

  3. JavaScript——易班优课YOOC课群在线测试自动答题解决方案(十九)强制重做

    前文 JavaScript--易班优课YOOC课群在线测试自动答题解决方案(一)答案获取 Spring Boot--易班优课YOOC课群在线测试自动答题解决方案(二)答案储存 Spring Boot- ...

  4. JavaScript + Tampermonkey——易班优课YOOC课群在线测试自动答题解决方案(十七)复合型解决方案油猴脚本

    前文 JavaScript--易班优课YOOC课群在线测试自动答题解决方案(一)答案获取 Spring Boot--易班优课YOOC课群在线测试自动答题解决方案(二)答案储存 Spring Boot- ...

  5. JavaScript——易班优课YOOC课群在线测试自动答题解决方案(十六)利用PC端和移动端BUG

    前文 JavaScript--易班优课YOOC课群在线测试自动答题解决方案(一)答案获取 Spring Boot--易班优课YOOC课群在线测试自动答题解决方案(二)答案储存 Spring Boot- ...

  6. JavaScript——易班优课YOOC课群在线测试自动答题解决方案(十五)整合升级+引入jQuery

    前文 JavaScript--易班优课YOOC课群在线测试自动答题解决方案(一)答案获取 Spring Boot--易班优课YOOC课群在线测试自动答题解决方案(二)答案储存 Spring Boot- ...

  7. Web安全——易班优课YOOC课群在线测试自动答题解决方案

    基本概念 易班优课YOOC:优课YOOC"是易班网于2016年4月研发并推出的基于Social Learning的理念而开发的在线学习平台. 官方网站:https://www.yooc.me ...

  8. JavaScript——易班优课YOOC课群在线测试自动答题解决方案(十三)自动答题

    前文 JavaScript--易班优课YOOC课群在线测试自动答题解决方案(一)答案获取 Spring Boot--易班优课YOOC课群在线测试自动答题解决方案(二)答案储存 Spring Boot- ...

  9. JavaScript——易班优课YOOC课群在线测试自动答题解决方案(十二)脚本整合

    前文 JavaScript--易班优课YOOC课群在线测试自动答题解决方案(一)答案获取 Spring Boot--易班优课YOOC课群在线测试自动答题解决方案(二)答案储存 Spring Boot- ...

最新文章

  1. 多样性计算时代,怎样的技术生态才能满足发展需求
  2. CSS浏览器兼容汇总
  3. php前后端分离两个域名访问,Laravel 5.4前后台分离,通过不同的二级域名访问方法...
  4. 快速从入门到精通!mysql字符串截取前两位
  5. 《Docker技术从入门到实践》第3,4,5章(三大概念)
  6. Matplotlib可视化数据分析图表下(常用图表的绘制、折线图、柱形图、直方图、饼形图、散点图、面积图、热力图、箱形图、3D图表、绘制多个图表、双y轴可视化图表、颜色渐变图)
  7. 手机怎么用外嵌字幕_怎么用手机给视频添加字幕?原来方法这么简单,3分钟教你学会...
  8. win10影子系统蓝屏修复不了,已解决
  9. soundpool android,Android中用SoundPool播放音频
  10. Cisco Live 2016:CEO罗卓克谈英国脱欧、内部孵化以及向服务转型
  11. 在子页面控制父页面iframe的高度
  12. Altium-Designer6.9安装报错Application Error
  13. 怎么将计算机设置为光盘引导模式,通过bios设置从光盘/光驱启动的方法
  14. WP_支持XP的Windows Phone开发环境搭建:“文字+视频”教程(五)
  15. fastadmin需要php,fastadmin修改后台入口提示 模块不存在:admin.php
  16. 如何下载福建省卫星地图高清版大图
  17. Centos7 docker完美卸载
  18. lua的userdata的生存周期
  19. 《大数据系统基础》课程实践项目中期答辩顺利举行,清华持续探索大数据人才教育创新之路...
  20. gdal、proj、geos、sqlite等在VS2015下编译和配置

热门文章

  1. java编写单词数_JAVA flink小试——单词计数
  2. NLP 命名实体识别
  3. linux高端内存申请,Linux高端内存
  4. spirngmvc如何实现直接输入网页重定向到登录_Python 模拟新浪微博登录
  5. linux空指针异常能捕获到吗,一次kernel panic分析--空指针in handle_IRQ_event
  6. java mesos kubernete_Fabric8操作Kubernetes(一)
  7. 五十五、深入插入排序和选择排序
  8. 三十七、深入Vue.js组件Component(下篇)
  9. 十一、深入Java的判断语句
  10. 四十一、深入Java中的 File类