database 연결
2023. 2. 3. 23:27ㆍTeamProjectHappy/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 |