프로젝트
16. REVIEW 수정
uni5948
2022. 1. 4. 14:57
16. REVIEW 수정
리뷰를 작성한 member만 수정 가능하다.
- 리뷰 정보 가져오기, 수정하기 추가
1. ReviewService
// 리뷰 정보 가져오기
public Review getReview(long no);
// 리뷰 수정하기
public void updateReview(Review review);
2. ReviewServiceImpl
// 리뷰 정보 가져오기
@Override
public Review getReview(long no) {
Optional<Review> review = rRepository.findById(no);
return review.orElse(null);
}
// 리뷰 수정하기
@Override
public void updateReview(Review review) {
rRepository.save(review);
}
- 리뷰 수정하기 추가(ReviewController.java)
//리뷰 수정
//127.0.0.1:8080/REST/reviewupdate?rno=
@RequestMapping(value = "/reviewupdate", method = {RequestMethod.PUT},
consumes = MediaType.ALL_VALUE,
produces = MediaType.APPLICATION_JSON_VALUE)
public Map<String, Object> reviewupdatePUT(
@RequestBody Review review,
@RequestParam(name = "rno", defaultValue = "0")long reviewNo,
@RequestHeader("token") String token){
Map<String, Object> map = new HashMap<String, Object>();
try{
String memberid = jwtUtil.extractUsername(token); // 토큰을 통해 회원 정보 찾기
String reviewid = rService.getReview(reviewNo).getMember().getUserid(); // 리뷰 정보에서 member id 찾기
if(memberid.equals(reviewid)){
Review review2 = rService.getReview(reviewNo);
review2.setContent(review.getContent());
review2.setRating(review.getRating());
rService.insertReview(review2);
map.put("status", 200);
}
else{
map.put("status", 300);
}
}
catch(Exception e){
e.printStackTrace();
map.put("status", e.hashCode());
}
return map;
}
- 리뷰 수정하기
리뷰를 등록했던 아이디만 수정이 가능하다.

- 다른 아이디로 수정할 경우