database 연결

2023. 2. 3. 23:27TeamProjectHappy/database

header 의 목록 버튼을 누르면 해당하는 목록 페이지를 보여주게 하려고 한다.

 

    //상세페이지 이동
const gotolist = (getcategory:any) => {
    // axios.post(`http://localhost:4040/${getcategory}`);
    window.location.href = `http://localhost:3000/list/${getcategory}`;
}

list 주소의 category를 통해서 이동한다.

 

기존의 ClassListController 에서 

@RestController
@RequestMapping("list/")
public class ClassListController {

	@Autowired ClassService classService;
    
    @GetMapping("front")
	public ResponseDto<List<GetClassInfoDto>> showAllFrontClassList(){
		return classService.showAllFrontClassList();
	}
	
	@GetMapping("back")
	public ResponseDto<List<GetClassInfoDto>> showAllBackClassList(){
		return classService.showAllBackClassList();
	}
	
	@GetMapping("db")
	public ResponseDto<List<GetClassInfoDto>> showAllDatabaseClassList(){
		return classService. showAllDatabaseClassList();
	}
	
	@GetMapping("full")
	public ResponseDto<List<GetClassInfoDto>> showAllFullStackClassList(){
		return classService. showAllFullStackClassList();
	}

GetMapping 을 추가한다.

 

ClassService

// all FrontList
	public ResponseDto<List<GetClassInfoDto>> showAllFrontClassList() {
		String category = "front";

		List<ClassEntity> showFrontList = classRepository.findByCategory(category);
		List<GetClassInfoDto> data = new ArrayList<GetClassInfoDto>();

		for (ClassEntity classEntity/* 변수 내맘대로 써도됨 */ : showFrontList) {
			List<ReviewEntity> reviewList = new ArrayList<ReviewEntity>();
			int avg = 0;
			reviewList = reviewRepository.findByIdClass(classEntity.getIdClass());
			for (ReviewEntity review : reviewList) {
				avg += review.getGrade();
			}
			if (reviewList.size() != 0) {
				avg = avg / reviewList.size();
			}
			data.add(new GetClassInfoDto(classEntity, avg));
		}
		return ResponseDto.setSuccess("getFrontList", data);
	}

추가

'TeamProjectHappy > database' 카테고리의 다른 글

img database 가져오기  (0) 2023.02.03
Post 연결하기  (0) 2023.02.02