1차 팀프로젝트 10회차

이동원·2024년 6월 24일

게시물보여주기

 @GetMapping
    public ResponseEntity<?> GetArticleList(@RequestHeader("Authorization") String accessToken,
                                            @RequestHeader("Type") int type)  // 컨트롤러에서는 캑체로 못받음.
    {
        TokenRecord tokenRecord = this.multiService.checkToken(accessToken);
        if(tokenRecord.isOK()){
            String username = tokenRecord.username();
            List<ArticleResponseDTO> articleResponseDTOList = this.multiService.getArticleList(type);
            return tokenRecord.getResponseEntity(articleResponseDTOList);  // 엔티티가 아닌 DTO 로 반환하는 이유는 필요한 정보 가있고 필요없는 정보가있으니깐 , 보안상위험
        }
        return tokenRecord.getResponseEntity();
    }

    // 성재가 type 1 을 쏴줌 -> 우리는 TYPE 값이 1인 ARTICLE들을 보내야함
    // 그럼 ARTICLE 의 TYPE 필드 값이 1인 것들만 찾아서 DTO 로 변환 후 LIST<ATICLERESPONSEDTO> 로 보내야함.


}
@Transactional
    public List<ArticleResponseDTO> getArticleList(int type) { // Long 을 Type 형식으로 바꿔야함
        List<ArticleResponseDTO> articleResponseDTOList = new ArrayList<>();

        List<Article> articleList = this.articleService.getArticleList(Type.values()[type]); // 예를들어 Type 인데 값이 1인거 ->결국 int 가아닌 Type이다
        for (Article article : articleList) {
            ArticleResponseDTO articleResponseDTO = ArticleResponseDTO.builder()
                    .article(article)
                    .siteUser(article.getAuthor())
                    .build();
            articleResponseDTOList.add(articleResponseDTO);
        }

        return articleResponseDTOList;
    }
}

0개의 댓글