사견/노트

0611 미니프로젝트

Mo'Greene 2022. 6. 11. 14:02

미니 프로젝트 역할

 

전체게시물조회

연도별 게시물 조회 카테고리화

게시물 좋아요기능 구현

 

전체게시물 조회

@GetMapping("/")
public List<Board> getBoard() {
    return boardService.getBoard();
}

이건 뭐 쉽게 함

 

 

연도별 게시물 조회 카테고리화

@GetMapping("/{year}")
public List<Board> getYearSearch(@PathVariable Long year) {
    return boardService.getYearSearch(year);
}

연도별 카테고리 클릭시 각각의 get이 {year} url로 들어오고

pathvariable을 사용하여 읽은 후 repository와 service에서 두개로 나누어 처리해보았다.

될지 안될지는 프론트와 연결을 안해봐서 모르겠다.

내 예상이라면 그 연도로만 찾은 정보들이 json으로 쏴질것이다.

 

repository

public interface BoardRepository extends JpaRepository<Board, Long> {

    //일단 year 값으로 된 모든걸 가져오는거라고 생각하자
    List<Board> findByYear(Long year);
}

 

service

//연도별 게시물 조회
@Transactional
public List<Board> getYearSearch(Long year) {
    return boardRepository.findByYear(year);
}

아주 단촐하다. service를 굳이 안만들고 repository에서 controller로 바로 넘겨도 되지만

가오가 상하여 넣어주었다.

 

 

 

남은건 프론트와 연결하여 되는지 여부 확인과 token을 이용하여 게시물에 좋아요기능을 구현해보는 것이다.

 

오늘은 자바의 기초문법을 공부해보자

 

 

 

수정!!!!!

@GetMapping("/board")
//required = true 는 기본값, true 일 경우 필수로 year 을 받아와야됨! 배운거다 현석아
public List<Board> readBoard(@RequestParam(value = "year", required = false) Long year) {
    //만약 연도가 들어온게 있다면
    if (year != null) {
        //연도별 게시물로 조회해라
        return boardService.getYearSearch(year);
    } else {
        //그게 아닌 null값으로 그냥 조회가 된다면 전체조회
        return boardService.getBoard();
    }
}

매니저님에게 피드백을 받고 아차했다. 왜 RequestParam으로 값을 가져오는걸 왜 생각못했을까

배운거 써먹어야되는데 퍼킹