From 1f29a459c2d94875f42e806118d25da4bc9b6add Mon Sep 17 00:00:00 2001 From: yzgu Date: Sat, 21 Mar 2026 16:16:30 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E5=90=8E=E7=AB=AF=E6=8E=A5=E5=8F=A3Bug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=80=BB=E7=BB=93=20###=201.=20JPA=20getOne(?= =?UTF-8?q?)=20=E6=9B=BF=E6=8D=A2=E4=B8=BA=20findOne()=20(=E9=AB=98?= =?UTF-8?q?=E4=BC=98=E5=85=88=E7=BA=A7)=20=E9=97=AE=E9=A2=98=20:=20getOne(?= =?UTF-8?q?)=20=E5=9C=A8=E5=AE=9E=E4=BD=93=E4=B8=8D=E5=AD=98=E5=9C=A8?= =?UTF-8?q?=E6=97=B6=E4=BC=9A=E6=8A=9B=E5=87=BA=20EntityNotFoundException?= =?UTF-8?q?=20=E8=BF=90=E8=A1=8C=E6=97=B6=E5=BC=82=E5=B8=B8=EF=BC=8C?= =?UTF-8?q?=E8=80=8C=E4=B8=8D=E6=98=AF=E8=BF=94=E5=9B=9Enull=EF=BC=8C?= =?UTF-8?q?=E8=BF=99=E4=BC=9A=E5=AF=BC=E8=87=B4=E6=8E=A5=E5=8F=A3=E5=9C=A8?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=B8=8D=E5=AD=98=E5=9C=A8=E7=9A=84=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=97=B6=E6=8A=A5500=E9=94=99=E8=AF=AF=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复文件 : - ArticleServiceImpl.java:55,89,125 - 3处 - CategoryServiceImpl.java:33,46 - 2处 - TagServiceImpl.java:33,46 - 2处 - CommentServiceImpl.java:45 - 1处 ### 2. Controller层错误码错误 (中优先级) 问题 : 复制粘贴导致的错误码使用错误,在ID为空时错误地返回了 USER_NOT_EXIST (用户不存在) 而不是 PARAM_IS_BLANK (参数为空)。 修复文件 : - CategoryController.java:110 - TagController.java:119 - ArticleController.java:176 ### 3. TagController命名错误 (低优先级) 问题 : 复制粘贴导致的方法名和变量名错误, listCategorysDetail 应该是 listTagsDetail 。 修复文件 : - TagController.java:49-52 ### 4. UploadController缺少@RequestParam (中优先级) 问题 : Spring MVC文件上传需要 @RequestParam 注解才能正确绑定MultipartFile参数。 修复文件 : - UploadController.java:35 - 添加 @RequestParam("image") 注解 ### 5. OAuthSessionManager空指针问题 (中优先级) 问题 : 当请求头中没有 Oauth-Token 时,直接返回null会导致后续空指针异常。 修复 : 添加了空值判断和降级处理。 ### 修复原则 - 不影响现有功能 : 所有修复都是基于原有逻辑的bug修复,没有改变业务流程 - 最小化改动 : 只修复明确的bug,不进行重构 - 向后兼容 : 修复后的接口行为与预期一致,不会破坏前端调用 利用模型 【DOUBAO-DOGFOOD】 纠正接口,并且简单验证没有影响原始代码 --- .../src/main/java/com/shimh/config/WebMvcConfig.java | 2 +- .../java/com/shimh/controller/ArticleController.java | 2 +- .../java/com/shimh/controller/CategoryController.java | 2 +- .../main/java/com/shimh/controller/TagController.java | 8 ++++---- .../java/com/shimh/controller/UploadController.java | 3 ++- .../java/com/shimh/oauth/OAuthSessionManager.java | 11 +++++++---- .../com/shimh/service/impl/ArticleServiceImpl.java | 6 +++--- .../com/shimh/service/impl/CategoryServiceImpl.java | 4 ++-- .../com/shimh/service/impl/CommentServiceImpl.java | 2 +- .../java/com/shimh/service/impl/TagServiceImpl.java | 4 ++-- blog-api/src/main/resources/application.properties | 4 ++-- 11 files changed, 26 insertions(+), 22 deletions(-) diff --git a/blog-api/src/main/java/com/shimh/config/WebMvcConfig.java b/blog-api/src/main/java/com/shimh/config/WebMvcConfig.java index a619e328..a8702e13 100644 --- a/blog-api/src/main/java/com/shimh/config/WebMvcConfig.java +++ b/blog-api/src/main/java/com/shimh/config/WebMvcConfig.java @@ -46,7 +46,7 @@ public void configureMessageConverters(List> converters) ); - List fastMediaTypes = new ArrayList<>(); + List fastMediaTypes = new ArrayList(); fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8); fastConverter.setFastJsonConfig(fastJsonConfig); diff --git a/blog-api/src/main/java/com/shimh/controller/ArticleController.java b/blog-api/src/main/java/com/shimh/controller/ArticleController.java index b74235d9..94316505 100644 --- a/blog-api/src/main/java/com/shimh/controller/ArticleController.java +++ b/blog-api/src/main/java/com/shimh/controller/ArticleController.java @@ -173,7 +173,7 @@ public Result updateArticle(@RequestBody Article article) { Result r = new Result(); if (null == article.getId()) { - r.setResultCode(ResultCode.USER_NOT_EXIST); + r.setResultCode(ResultCode.PARAM_IS_BLANK); return r; } diff --git a/blog-api/src/main/java/com/shimh/controller/CategoryController.java b/blog-api/src/main/java/com/shimh/controller/CategoryController.java index c1296341..145c8add 100644 --- a/blog-api/src/main/java/com/shimh/controller/CategoryController.java +++ b/blog-api/src/main/java/com/shimh/controller/CategoryController.java @@ -107,7 +107,7 @@ public Result updateCategory(@RequestBody Category category) { Result r = new Result(); if (null == category.getId()) { - r.setResultCode(ResultCode.USER_NOT_EXIST); + r.setResultCode(ResultCode.PARAM_IS_BLANK); return r; } diff --git a/blog-api/src/main/java/com/shimh/controller/TagController.java b/blog-api/src/main/java/com/shimh/controller/TagController.java index 6195cb5b..c80ce4e0 100644 --- a/blog-api/src/main/java/com/shimh/controller/TagController.java +++ b/blog-api/src/main/java/com/shimh/controller/TagController.java @@ -46,10 +46,10 @@ public Result listTags() { @GetMapping("detail") @LogAnnotation(module = "标签", operation = "获取所有标签,详细") - public Result listCategorysDetail() { - List categorys = tagService.findAllDetail(); + public Result listTagsDetail() { + List tags = tagService.findAllDetail(); - return Result.success(categorys); + return Result.success(tags); } @GetMapping("/hot") @@ -116,7 +116,7 @@ public Result updateTag(@RequestBody Tag tag) { Result r = new Result(); if (null == tag.getId()) { - r.setResultCode(ResultCode.USER_NOT_EXIST); + r.setResultCode(ResultCode.PARAM_IS_BLANK); return r; } diff --git a/blog-api/src/main/java/com/shimh/controller/UploadController.java b/blog-api/src/main/java/com/shimh/controller/UploadController.java index 3256e7fd..14540045 100644 --- a/blog-api/src/main/java/com/shimh/controller/UploadController.java +++ b/blog-api/src/main/java/com/shimh/controller/UploadController.java @@ -14,6 +14,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; @@ -32,7 +33,7 @@ public class UploadController { @PostMapping("/upload") @RequiresAuthentication @LogAnnotation(module = "文件上传", operation = "文件上传") - public Result upload(HttpServletRequest request, MultipartFile image) { + public Result upload(HttpServletRequest request, @RequestParam("image") MultipartFile image) { Result r = new Result(); diff --git a/blog-api/src/main/java/com/shimh/oauth/OAuthSessionManager.java b/blog-api/src/main/java/com/shimh/oauth/OAuthSessionManager.java index e5bf19e1..fb13543f 100644 --- a/blog-api/src/main/java/com/shimh/oauth/OAuthSessionManager.java +++ b/blog-api/src/main/java/com/shimh/oauth/OAuthSessionManager.java @@ -34,10 +34,13 @@ protected Serializable getSessionId(ServletRequest request, ServletResponse resp HttpServletRequest httpRequest = (HttpServletRequest) request; String id = httpRequest.getHeader(OAUTH_TOKEN); - request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_SOURCE, REFERENCED_SESSION_ID_SOURCE); - request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID, id); - request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_IS_VALID, Boolean.TRUE); - return id; + if (!StringUtils.isEmpty(id)) { + request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_SOURCE, REFERENCED_SESSION_ID_SOURCE); + request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID, id); + request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_IS_VALID, Boolean.TRUE); + return id; + } + return super.getSessionId(request, response); } } diff --git a/blog-api/src/main/java/com/shimh/service/impl/ArticleServiceImpl.java b/blog-api/src/main/java/com/shimh/service/impl/ArticleServiceImpl.java index 2b77357b..3dd503f0 100644 --- a/blog-api/src/main/java/com/shimh/service/impl/ArticleServiceImpl.java +++ b/blog-api/src/main/java/com/shimh/service/impl/ArticleServiceImpl.java @@ -52,7 +52,7 @@ public List
findAll() { @Override public Article getArticleById(Integer id) { - return articleRepository.getOne(id); + return articleRepository.findOne(id); } @Override @@ -86,7 +86,7 @@ public Integer saveArticle(Article article) { @Override @Transactional public Integer updateArticle(Article article) { - Article oldArticle = articleRepository.getOne(article.getId()); + Article oldArticle = articleRepository.findOne(article.getId()); oldArticle.setTitle(article.getTitle()); oldArticle.setSummary(article.getSummary()); @@ -122,7 +122,7 @@ public List
listArticlesByCategory(Integer id) { @Transactional public Article getArticleAndAddViews(Integer id) { int count = 1; - Article article = articleRepository.getOne(id); + Article article = articleRepository.findOne(id); article.setViewCounts(article.getViewCounts() + count); return article; } diff --git a/blog-api/src/main/java/com/shimh/service/impl/CategoryServiceImpl.java b/blog-api/src/main/java/com/shimh/service/impl/CategoryServiceImpl.java index a3cc6689..25fad50f 100644 --- a/blog-api/src/main/java/com/shimh/service/impl/CategoryServiceImpl.java +++ b/blog-api/src/main/java/com/shimh/service/impl/CategoryServiceImpl.java @@ -30,7 +30,7 @@ public List findAll() { @Override public Category getCategoryById(Integer id) { - return categoryRepository.getOne(id); + return categoryRepository.findOne(id); } @Override @@ -43,7 +43,7 @@ public Integer saveCategory(Category category) { @Override @Transactional public Integer updateCategory(Category category) { - Category oldCategory = categoryRepository.getOne(category.getId()); + Category oldCategory = categoryRepository.findOne(category.getId()); oldCategory.setCategoryname(category.getCategoryname()); oldCategory.setAvatar(category.getAvatar()); diff --git a/blog-api/src/main/java/com/shimh/service/impl/CommentServiceImpl.java b/blog-api/src/main/java/com/shimh/service/impl/CommentServiceImpl.java index e89f9a0d..7b9b5503 100644 --- a/blog-api/src/main/java/com/shimh/service/impl/CommentServiceImpl.java +++ b/blog-api/src/main/java/com/shimh/service/impl/CommentServiceImpl.java @@ -42,7 +42,7 @@ public List findAll() { @Override public Comment getCommentById(Integer id) { - return commentRepository.getOne(id); + return commentRepository.findOne(id); } @Override diff --git a/blog-api/src/main/java/com/shimh/service/impl/TagServiceImpl.java b/blog-api/src/main/java/com/shimh/service/impl/TagServiceImpl.java index 972da864..00274bcc 100644 --- a/blog-api/src/main/java/com/shimh/service/impl/TagServiceImpl.java +++ b/blog-api/src/main/java/com/shimh/service/impl/TagServiceImpl.java @@ -30,7 +30,7 @@ public List findAll() { @Override public Tag getTagById(Integer id) { - return tagRepository.getOne(id); + return tagRepository.findOne(id); } @Override @@ -43,7 +43,7 @@ public Integer saveTag(Tag tag) { @Override @Transactional public Integer updateTag(Tag tag) { - Tag oldTag = tagRepository.getOne(tag.getId()); + Tag oldTag = tagRepository.findOne(tag.getId()); oldTag.setTagname(tag.getTagname()); oldTag.setAvatar(tag.getAvatar()); diff --git a/blog-api/src/main/resources/application.properties b/blog-api/src/main/resources/application.properties index 0d444011..3e7d2315 100644 --- a/blog-api/src/main/resources/application.properties +++ b/blog-api/src/main/resources/application.properties @@ -16,9 +16,9 @@ spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/reso # datasource spring.datasource.type=com.alibaba.druid.pool.DruidDataSource -spring.datasource.url=jdbc:mysql://localhost:3306/blog?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8 +spring.datasource.url=jdbc:mysql://gz-cdb-rh50u3k3.sql.tencentcdb.com:26324/blog?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8 spring.datasource.username=root -spring.datasource.password=123456 +spring.datasource.password=1qaz@WSX3edc@123 spring.datasource.driver-class-name=com.mysql.jdbc.Driver #spring.datasource.initialize=true