리팩토링 3

[개발]🤦🏻‍♀️고민하기 - review 기능에 커스텀 DTO 적용

@PostMapping() public ResponseEntity save(@RequestBody ReviewDTO reviewdto) { School school = schoolService.findBySchoolId(1L) .orElseThrow(() -> new IllegalArgumentException("학교가 존재하지 않습니다.")); Review review = ReviewDTO.toEntity(reviewdto, school); return ResponseEntity.ok().body(reviewService.save(review)); } //해당 학교애 대한 전체 리뷰 보여주기 @GetMapping() public ResponseEntity getReviewsBySchoolId(@Requ..

[개발]🤦🏻‍♀️고민하기 - Review_논리적 삭제(logical delete) 도입

완전한 삭제가 아니라 반 삭제처럼 데이터를 일시적으로 비활성화하는 것을 "소프트 삭제(soft delete)" 또는 "논리적 삭제(logical delete)"라고 합니다. 소프트 삭제는 데이터를 데이터베이스에서 완전히 삭제하지 않고, 대신 삭제된 표시를 나타내는 특정 칼럼(예: "isDeleted")의 값을 변경하여 해당 데이터를 비활성화시킵니다. 이렇게 삭제된 표시를 가진 데이터는 일반적으로 조회 및 수정 작업에서 필터링되어 처리됩니다. 소프트 삭제는 데이터 복구 가능성이 있고, 삭제된 데이터의 이력을 추적할 수 있는 장점이 있습니다. 또한, 완전한 삭제보다 더 안전한 방법으로 데이터를 관리할 수 있습니다. 스프링 웹 프로젝트에서 소프트 삭제를 구현하기 위해서는 데이터베이스 스키마에 삭제 여부를 나타..

[개발]🤦🏻‍♀️고민하기 - review controller 리팩토링

⬇️리팩토링 전 코드 @RestController @CrossOrigin(origins = "http://localhost:3000", methods = {RequestMethod.OPTIONS, RequestMethod.DELETE, RequestMethod.GET, RequestMethod.POST, RequestMethod.PUT}) @RequestMapping("/review") public class ReviewController { private final ReviewService reviewService; public ReviewController(ReviewService reviewService) { this.reviewService = reviewService; } // 리뷰 등록 @Po..