From f27be2130c50c60ce34f3cb1f517a8e476bcc9d3 Mon Sep 17 00:00:00 2001 From: qingfeng1121 Date: Mon, 15 Dec 2025 17:54:14 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=BB=93=E6=9E=84=E5=92=8C=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在PageDto中添加toString方法以便调试 - 关闭开发环境的SQL日志输出以减少日志噪音 - 允许匿名用户发表评论 - 调整安全配置,仅允许POST方法访问认证端点 - 修改文章状态分页接口,使用查询参数替代路径参数 --- .../java/com/qf/myafterprojecy/config/SecurityConfig.java | 2 +- .../qf/myafterprojecy/controller/ArticleController.java | 7 +++++-- .../qf/myafterprojecy/controller/MessageController.java | 2 +- src/main/java/com/qf/myafterprojecy/pojo/dto/PageDto.java | 8 ++++++++ src/main/resources/application-dev.properties | 4 ++-- 5 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/qf/myafterprojecy/config/SecurityConfig.java b/src/main/java/com/qf/myafterprojecy/config/SecurityConfig.java index afc3174..771dcc9 100644 --- a/src/main/java/com/qf/myafterprojecy/config/SecurityConfig.java +++ b/src/main/java/com/qf/myafterprojecy/config/SecurityConfig.java @@ -62,7 +62,7 @@ public class SecurityConfig { .authorizeRequests() // 允许公开访问的路径 // 登录和认证相关端点应该全部公开 - .antMatchers("/api/auth/**").permitAll() + .antMatchers(HttpMethod.POST,"/api/auth/**").permitAll() // 文章浏览量增加接口公开 .antMatchers(HttpMethod.POST,"/api/articles/view/**").permitAll() // 所有GET请求公开 diff --git a/src/main/java/com/qf/myafterprojecy/controller/ArticleController.java b/src/main/java/com/qf/myafterprojecy/controller/ArticleController.java index 17e9c43..a73e245 100644 --- a/src/main/java/com/qf/myafterprojecy/controller/ArticleController.java +++ b/src/main/java/com/qf/myafterprojecy/controller/ArticleController.java @@ -63,8 +63,11 @@ public class ArticleController { * @param size 每页大小(可选,默认为10,最大为100) * @return 返回包含分页文章列表的ResponseMessage对象 */ - @GetMapping("/status/page/{status}") - public ResponseMessage> getArticlesByStatusWithPagination(@PathVariable PageDto pageDto) { + // api/articles/status/page?status=1&page=1&size=2 + // get 只能这样不能传递json + @GetMapping("/status/page") + public ResponseMessage> getArticlesByStatusWithPagination(PageDto pageDto) { + System.out.println(pageDto); return articleService.getArticlesByStatusWithPagination(pageDto.getStatus(), pageDto.getPage(), pageDto.getSize()); } diff --git a/src/main/java/com/qf/myafterprojecy/controller/MessageController.java b/src/main/java/com/qf/myafterprojecy/controller/MessageController.java index 90e4622..af4abc3 100644 --- a/src/main/java/com/qf/myafterprojecy/controller/MessageController.java +++ b/src/main/java/com/qf/myafterprojecy/controller/MessageController.java @@ -88,7 +88,7 @@ public class MessageController { * 创建新消息 */ @PostMapping - @PreAuthorize("isAuthenticated()") + // 允许匿名用户发表评论 public ResponseMessage createMessage(@RequestBody MessageDto message) { logger.info("接收创建消息的请求: {}", message != null ? message.getNickname() : "null"); return messageService.saveMessage(message); diff --git a/src/main/java/com/qf/myafterprojecy/pojo/dto/PageDto.java b/src/main/java/com/qf/myafterprojecy/pojo/dto/PageDto.java index 1632272..5567bf3 100644 --- a/src/main/java/com/qf/myafterprojecy/pojo/dto/PageDto.java +++ b/src/main/java/com/qf/myafterprojecy/pojo/dto/PageDto.java @@ -34,4 +34,12 @@ public class PageDto { public void setSize(Integer size) { this.size = size; } + @Override + public String toString() { + return "PageDto{" + + "status=" + status + + ", page=" + page + + ", size=" + size + + '}'; + } } diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties index e413d1b..53cc794 100644 --- a/src/main/resources/application-dev.properties +++ b/src/main/resources/application-dev.properties @@ -21,8 +21,8 @@ spring.datasource.hikari.minimum-idle=2 # JPA配置(开发环境使用update以便自动创建/更新表结构) spring.jpa.hibernate.ddl-auto=update -spring.jpa.show-sql=true -spring.jpa.properties.hibernate.format_sql=true +spring.jpa.show-sql=false +spring.jpa.properties.hibernate.format_sql=false spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect # ====================================================================