(免费分享)基于springboot,vue在线小说系统

news/2024/2/29 2:57:06

本系统功能包括: 普通用户端登录注册,小说的分类,日榜,月榜,年榜, 小说的阅读,分章节,小说的评论,收藏,推荐等等,以 及后台小说的维护,上架,编辑等等。

项目技术: Springboot + Maven + Mybatis + Vue + Redis
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

package com.homework.web.controller;import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Date;
import java.util.HashMap;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import com.homework.exception.ControllerException;
import com.homework.web.pojo.Chapter;
import com.homework.web.service.ChapterService;
import com.homework.web.util.ResponseObject;import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;@RestController
@RequestMapping("/api/chapter")
@Api(tags = "共同前缀:/api/chapter", description = "ChapterController")
@Slf4j
public class ChapterController {@AutowiredChapterService chapterService;@PostMapping@ApiOperation("新增Chapter")@PreAuthorize("isAuthenticated()")public ResponseObject post(@RequestBody HashMap<String, String> data) {log.info("新增Chapter");if (data.get("title") == null || data.get("title").equals("")) {throw new ControllerException("volume_id不可为null");} else if (data.get("volume_id") == null || data.get("volume_id").equals("")) {throw new ControllerException("title不可为null,也不可为空字符串");} else if (data.get("chapterContent") == null || data.get("chapterContent").equals("")) {throw new ControllerException("chapterContent不可为null,也不可为空字符串");} else {try {// 文件夹File directory = new File(ResourceUtils.getURL("src").getPath() + "main/resources/static/txt/");if (!directory.exists()) {directory.mkdirs();}// 文件String content = new Date().getTime() + ".txt";File file2 = new File(directory, content);if (!file2.exists()) {file2.createNewFile();}// 往文件内写内容FileWriter fileWriter = new FileWriter(file2);fileWriter.write(data.get("chapterContent"));fileWriter.flush();fileWriter.close();Chapter chapter = new Chapter();chapter.setTitle(data.get("title"));chapter.setVolume_id(Integer.parseInt(data.get("volume_id")));chapter.setContent(content);return new ResponseObject("200", "操作成功", chapterService.insert(chapter));} catch (Exception e) {throw new ControllerException("操作失败");}}}@GetMapping@ApiOperation("查询Chapter")public ResponseObject get(Integer volume_id) {log.info("查询Chapter");if (volume_id == null) {throw new ControllerException("volume_id不可为null");} else {return new ResponseObject("200", "操作成功", chapterService.selectByVolume_id(volume_id));}}@GetMapping("/{id:[0-9]+}/last")@ApiOperation("查询上一章的Chapter")public ResponseObject getLast(@PathVariable Integer id) {log.info("查询上一章的Chapter");if (id == null) {throw new ControllerException("id不可为null");} else {Chapter chapter = chapterService.selectById(id);if (chapter == null) {throw new ControllerException("该id无法查找到chapter");} else {return new ResponseObject("200", "操作成功",chapterService.selectLastByVolume_idId(chapter.getVolume_id(), chapter.getId()));}}}@GetMapping("/{id:[0-9]+}/next")@ApiOperation("查询下一章的Chapter")public ResponseObject getNext(@PathVariable Integer id) {log.info("查询下一章的Chapter");if (id == null) {throw new ControllerException("id不可为null");} else {Chapter chapter = chapterService.selectById(id);if (chapter == null) {throw new ControllerException("该id无法查找到chapter");} else {return new ResponseObject("200", "操作成功",chapterService.selectNextByVolume_idId(chapter.getVolume_id(), chapter.getId()));}}}@GetMapping("/{id:[0-9]+}")@ApiOperation("查询Chapter")public ResponseObject getById(@PathVariable Integer id) {log.info("查询Chapter");if (id == null) {throw new ControllerException("id不可为null");} else {return new ResponseObject("200", "操作成功", chapterService.selectById(id));}}@GetMapping("/content")@ApiOperation("查询Chapter的content")public ResponseObject getContent(String content) {log.info("查询Chapter的content");if (content == null || content.equals("")) {throw new ControllerException("content不可为null,也不可为空字符串");} else {try {StringBuilder stringBuilder = new StringBuilder();File file = new File(new File(ResourceUtils.getURL("src").getPath() + "main/resources/static/txt/"),content);FileReader fileReader = new FileReader(file);char[] charArray = new char[1024];int length = 0;while ((length = fileReader.read(charArray)) != -1) {stringBuilder.append(new String(charArray, 0, length));}fileReader.close();return new ResponseObject("200", "操作成功", stringBuilder.toString());} catch (Exception e) {throw new ControllerException("找不到该章节的内容");}}}@PatchMapping("/content")@ApiOperation("修改Chapter的content")@PreAuthorize("isAuthenticated()")public ResponseObject patchContent(String content, @RequestBody HashMap<String, String> data) {log.info("修改Chapter的content");if (content == null || content.equals("")) {throw new ControllerException("content不可为null,也不可为空字符串");} else if (data.get("chapterContent") == null || data.get("chapterContent").equals("")) {throw new ControllerException("chapterContent不可为null,也不可为空字符串");} else {try {File file = new File(new File(ResourceUtils.getURL("src").getPath() + "main/resources/static/txt/"),content);FileWriter fileWriter = new FileWriter(file);fileWriter.write(data.get("chapterContent"));fileWriter.flush();fileWriter.close();return new ResponseObject("200", "操作成功", data.get("chapterContent"));} catch (Exception e) {throw new ControllerException("找不到该章节的内容");}}}}

获取完整源码:
大家点赞、收藏、关注、评论啦 、查看 👇🏻 👇🏻 👇🏻微信公众号获取联系 👇🏻 👇🏻 👇🏻
免费领取下载链接-公众号输入口令:048


http://www.ppmy.cn/news/720355.html

相关文章

成功案例分享 | 未来工程机械的智能诊断技术

| 具有高要求的特殊机器 移动作业机械是整个车辆市场的一个重要部分。通常情况下&#xff0c;这些机械需要液压驱动技术&#xff0c;特别是轴向活塞单元&#xff0c;这使得在高压条件下的移动成为可能。这一领域的操作和环境条件比标准机动车更为苛刻。例如&#xff0c;理想的…

Win10 Chinese输入法修复/note

Win10 输入法问题 1. Servie Touch Keyboard and Handwriting Panel Service ---> Set Manual start 2. Win10 Tablet mode diable , Setting ---> System 3. Retart TextServicesFramework monitor task 4. Restart ctfmon.exe

解决 Win 10 输入法(仅桌面)的问题

第1步&#xff1a;右击开始按钮-运行&#xff08;或按WinR&#xff09;&#xff0c;调出使用管理权限的运行框&#xff0c;键入gpedit.msc。 第2步&#xff1a;回车&#xff0c;调出《本地组策略编辑器》。 第3步&#xff1a;点击计算机配置-Windows设置-安全设置-本地策略-安…

win10误禁用任务计划程序导致任务栏里的输入法丢失

本来是要给同事禁用掉小广告弹窗的&#xff0c;本着一刀切的原则&#xff0c;想偷个懒&#xff0c;企图通过禁用“任务计划程序”里的大部分任务&#xff0c;来切断重启后的小广告弹窗。结果等重启之后&#xff0c;发现都输入法挂了&#xff0c;按切换键再也没法切&#xff0c;…

如何禁用win10的水果输入法

在控制面板和自带的卸载软件里&#xff0c; 还是找不到卸载。 用everything软件搜“shuiguo”也查找不到。 水果输入法和搜狗输入法很像&#xff0c;但不是同一个软件。 但两者似乎同生共死一样。发现一个可行的办法。 解决办法&#xff1a; 先卸载搜狗输入法&#xff0c;再在w…

win10禁用全角_win10系统屏蔽全角/半角快捷键的操作办法

win10系统使用久了&#xff0c;好多网友反馈说关于对win10系统屏蔽全角/半角快捷键设置的方法&#xff0c;在使用win10系统的过程中经常不知道如何去对win10系统屏蔽全角/半角快捷键进行设置&#xff0c;有什么好的办法去设置win10系统屏蔽全角/半角快捷键呢&#xff1f;在这里…

win10禁用全角_win10输入法全角半角怎么切换 快捷键使用教程

如今电脑已经是人们生活和工作中必不可少的一部分了&#xff0c;想要知道外界的信息就需要使用到电脑或智能手机。但是不少朋友在使用WIN10系统的电脑时也常常会遇到各种各样的问题&#xff0c;例如WIN10输入法全角半角怎么切换呢&#xff0c;WIN10快捷键有哪些呢&#xff0c;下…

win10禁用全角,教你恢复win10系统屏蔽全角/半角快捷键的办法

你是否遇到过关于对win10系统屏蔽全角/半角快捷键设置的方法&#xff0c;在使用win10系统的过程中经常不知道如何去对win10系统屏蔽全角/半角快捷键进行设置&#xff0c;有什么好的办法去设置win10系统屏蔽全角/半角快捷键呢&#xff1f;在这里小编教你只需要开始"->&q…

禁用win10自带的微软输入法!

1.点击电脑主屏幕左下角开始图标&#xff0c;选择设置 2.选择“时间和语言”---->“语言”---->“中文” 3.单击选项&#xff0c;删除微软拼音键盘即可&#xff0c;这样就不会在不小心按到CtrlShift建时&#xff0c;出现切换输入法的现象。喜欢搜狗输入法的&#xff0…

Win10输入法无法选择,右下角出现叉号,提示IME被禁用

批处理来自动实现&#xff1a; schtasks /End /TN "\Microsoft\Windows\TextServicesFramework\MsCtfMonitor" schtasks /Run /TN "\Microsoft\Windows\TextServicesFramework\MsCtfMonitor" taskkill /F /IM ChsIME.exe

Win10右下角提示“已禁用IME”的多种解决方法汇总

Win10右下角提示“已禁用IME”的多种解决方法汇总 IME&#xff0c;Input Method Editor&#xff0c;是微软的输入法编辑器&#xff0c;用来输入代表东亚地区书面语言文字的不同字符。最近有用户反映Win10系统下桌面右下角有个打叉的圆圈提示“已禁用IME”&#xff0c;中文输入法…

javaGUI 禁用输入法

javaGUI 禁用输入法 仅适用于windows系统 pom.xml <dependency><groupId>net.java.dev.jna</groupId><artifactId>jna</artifactId><version>5.2.0</version> </dependency> <dependency><groupId>net.java.dev…

Win10禁用Ctrl+空格切换输入法

将如下注册表内容拷贝到记事本并另存为.reg文件&#xff0c;双击导入注册表后重启电脑即可(可能注销也可以未测试) Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000010] "Key Modifiers"hex:00,c0,00,00 "…

win10不显示输入法图标怎么回事?

输入法图标不见了怎么办&#xff1f;有用户在输入文字的时候&#xff0c;发现任务栏中的输入法图标竟然不见了&#xff0c;尝试一些方法来调出输入法都失败了&#xff0c;这可怎么办&#xff1f;下面就来看看详细的解决办法。 解决方法如下&#xff1a; 1、首先&#xff0c;使用…

win10 计算机管理器没有ime,win10电脑任务栏输入法初选ime禁用的解决方法

输入法是我们每天都是需要使用到的&#xff0c;现在输入法的选择是很多的&#xff0c;我们在安装中可以自由的选择&#xff0c;今天小编就来跟大家分享一下一个问题&#xff0c;很多的小伙伴在win10系统中遇到任务栏中输入法变成了一个ime禁用的问题&#xff0c;导致我们的输入…

win10设置默认输入法_为什么说win10越来越好用了?(技巧篇)

Windows作为最主流的一种操作系统&#xff0c;其生命力之顽强&#xff0c;以至于将微软一直保持在市值排行前列至今&#xff0c;深挖其原因无非就是其洞察了人的“惰性”。将各种操作化繁为简&#xff0c;越简单&#xff0c;越真实&#xff0c;越受人喜欢。很多小伙伴在用习惯w…

w ndows10输入法设置,unity3d屏蔽Windows10输入法

在win10上,如果安装了某些输入法(比如QQ输入法),会造成unity的键盘事件被输入法捕获而不能触发的情况。只有将输入法切换到英文状态下才能响应键盘事件。 解决办法有, 1:用户主动切换输入法,甚至卸载输入法 2:程序在非输入状态下,屏蔽输入法 由于方法1在全屏状态下,用户…

win10输入法切换 只能输入英文

winX打开命令提示符 输入ctfmon结果决问题
最新文章