diff --git a/src/main/java/com/openisle/controller/CommentController.java b/src/main/java/com/openisle/controller/CommentController.java index 84f48f79b..caa73e1a6 100644 --- a/src/main/java/com/openisle/controller/CommentController.java +++ b/src/main/java/com/openisle/controller/CommentController.java @@ -70,7 +70,15 @@ public class CommentController { dto.setId(comment.getId()); dto.setContent(comment.getContent()); dto.setCreatedAt(comment.getCreatedAt()); - dto.setAuthor(comment.getAuthor().getUsername()); + dto.setAuthor(toAuthorDto(comment.getAuthor())); + return dto; + } + + private AuthorDto toAuthorDto(com.openisle.model.User user) { + AuthorDto dto = new AuthorDto(); + dto.setId(user.getId()); + dto.setUsername(user.getUsername()); + dto.setAvatar(user.getAvatar()); return dto; } @@ -85,7 +93,14 @@ public class CommentController { private Long id; private String content; private LocalDateTime createdAt; - private String author; + private AuthorDto author; private List replies; } + + @Data + private static class AuthorDto { + private Long id; + private String username; + private String avatar; + } } diff --git a/src/main/java/com/openisle/controller/PostController.java b/src/main/java/com/openisle/controller/PostController.java index 97fa77436..43a15e6de 100644 --- a/src/main/java/com/openisle/controller/PostController.java +++ b/src/main/java/com/openisle/controller/PostController.java @@ -83,7 +83,7 @@ public class PostController { dto.setTitle(post.getTitle()); dto.setContent(post.getContent()); dto.setCreatedAt(post.getCreatedAt()); - dto.setAuthor(post.getAuthor().getUsername()); + dto.setAuthor(toAuthorDto(post.getAuthor())); dto.setCategory(toCategoryDto(post.getCategory())); dto.setTags(post.getTags().stream().map(this::toTagDto).collect(Collectors.toList())); dto.setViews(post.getViews()); @@ -124,7 +124,7 @@ public class PostController { dto.setId(comment.getId()); dto.setContent(comment.getContent()); dto.setCreatedAt(comment.getCreatedAt()); - dto.setAuthor(comment.getAuthor().getUsername()); + dto.setAuthor(toAuthorDto(comment.getAuthor())); return dto; } @@ -162,6 +162,14 @@ public class PostController { return dto; } + private AuthorDto toAuthorDto(com.openisle.model.User user) { + AuthorDto dto = new AuthorDto(); + dto.setId(user.getId()); + dto.setUsername(user.getUsername()); + dto.setAvatar(user.getAvatar()); + return dto; + } + @Data private static class PostRequest { private Long categoryId; @@ -177,7 +185,7 @@ public class PostController { private String title; private String content; private LocalDateTime createdAt; - private String author; + private AuthorDto author; private CategoryDto category; private java.util.List tags; private long views; @@ -203,12 +211,19 @@ public class PostController { private String smallIcon; } + @Data + private static class AuthorDto { + private Long id; + private String username; + private String avatar; + } + @Data private static class CommentDto { private Long id; private String content; private LocalDateTime createdAt; - private String author; + private AuthorDto author; private List replies; private List reactions; }