diff --git a/src/main/java/peer/backend/dto/user/UserShowcaseResponse.java b/src/main/java/peer/backend/dto/user/UserShowcaseResponse.java index 9839e9d9d..47cf15c8a 100644 --- a/src/main/java/peer/backend/dto/user/UserShowcaseResponse.java +++ b/src/main/java/peer/backend/dto/user/UserShowcaseResponse.java @@ -10,12 +10,14 @@ @Getter @RequiredArgsConstructor public class UserShowcaseResponse { + private Long id; private String image; private String nickname; private String role; public UserShowcaseResponse(TeamUser teamUser){ User user = teamUser.getUser(); + this.id = user.getId(); this.image = user.getImageUrl(); this.nickname = user.getNickname(); this.role = teamUser.getTeamUserJobs().get(0).getTeamJob().getName(); diff --git a/src/main/java/peer/backend/service/board/recruit/HitchHikingService.java b/src/main/java/peer/backend/service/board/recruit/HitchHikingService.java index 6cdadbf26..d105516c3 100644 --- a/src/main/java/peer/backend/service/board/recruit/HitchHikingService.java +++ b/src/main/java/peer/backend/service/board/recruit/HitchHikingService.java @@ -17,6 +17,10 @@ import peer.backend.repository.board.recruit.RecruitRepository; import peer.backend.service.TagService; +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import java.util.stream.Collectors; @Service @@ -26,6 +30,9 @@ public class HitchHikingService { private final RecruitRepository recruitRepository; private final TagService tagService; + private String excludeImageUrlFromContent(String origin){ + return origin.replaceAll("!\\[.*?\\]\\(.*?\\)", ""); + } @Transactional public Page getHitchList(int page, int pageSize, String type, Long userId){ @@ -53,7 +60,7 @@ public HitchResponse getHitch(Long hitchId){ Recruit recruit = recruitRepository.findById(hitchId) .orElseThrow(() -> new NotFoundException("존재하지 않는 모집글입니다.")); return HitchResponse.builder() - .content(recruit.getContent()) + .content(excludeImageUrlFromContent(recruit.getContent())) .memberImage(recruit.getTeam().getTeamUsers().stream().map( teamUser -> teamUser.getUser().getImageUrl()).collect(Collectors.toList())) .recruitmentQuota(recruit.getTeam().getMaxMember()) diff --git a/src/main/java/peer/backend/service/board/team/ShowcaseService.java b/src/main/java/peer/backend/service/board/team/ShowcaseService.java index 4f857b780..b0a1bccd4 100644 --- a/src/main/java/peer/backend/service/board/team/ShowcaseService.java +++ b/src/main/java/peer/backend/service/board/team/ShowcaseService.java @@ -58,13 +58,17 @@ private List getMembers(List teamUsers){ .collect(Collectors.toList()); } + private String excludeImageUrlFromContent(String origin){ + return origin.replaceAll("!\\[.*?\\]\\(.*?\\)", ""); + } + private ShowcaseListResponse convertToDto(Post post, Authentication auth) { Team team = post.getBoard().getTeam(); return ShowcaseListResponse.builder() .id(post.getId()) .image(post.getImage()) // showcase에서 대표이미지는 항상 첫번째인덱스에 있습니다. .name(post.getBoard().getTeam().getName()) - .description(post.getContent()) + .description(excludeImageUrlFromContent(post.getContent())) .skill( this.tagService.recruitTagListToTagResponseList(team.getRecruit().getRecruitTags())) .like(post.getLiked())