어제 오류 해결했다!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
orderID를 UUID로 선언해놓고 Long형으로 변환하려는 오류때문에 거의 3시간..? 가량 고생했던 것 같다
gpt와 함께 코드 하나하나 되짚어봐도 어.디.에.도 Long형으로 변환하려는게 없었는데 도대체 어디서 오류가 나는지 화가 나네 갑자기
암튼 원인은 Base Entity 였다...
Git을 제대로 활용하는 게 처음이여서 [충돌]이 너무 두려웠던 나머지 최신 코드를 pull하지 않은 채 기초 세팅에서 개발을 했었다.
팀원들과 상의끝에 Base Entity를 수정했었지만... 까먹었나보다
아무튼! BaseEntity 수정하니 잘 나왔다!
BaseEntity 코드 첨부하겠다.
package com.ioteam.order_management_platform.global.entity;
import jakarta.persistence.Column;
import jakarta.persistence.EntityListeners;
import jakarta.persistence.MappedSuperclass;
import lombok.Getter;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import java.time.LocalDateTime;
import java.util.UUID;
@EntityListeners(AuditingEntityListener.class)
@MappedSuperclass
@Getter
public abstract class BaseEntity {
@CreatedDate
@Column(updatable = false)
protected LocalDateTime createdAt;
@LastModifiedDate
protected LocalDateTime modifiedAt;
@CreatedBy
@Column(updatable = false)
protected UUID createdBy;
@LastModifiedBy
protected UUID modifiedBy;
}
나는 createdBy, modifiedBy를 Long으로 선언했더라 진짜 바보같기는
오류 해결~!
도메인마다 예외처리를 두기로 했다.
내가 생각한 주문 예외처리
난 성공 코드를 Controller에서 반환해줬다.
하지만 가독성(이 이유 맞는가..?)때문에 Success코드에 도메인별로 정리해줬다.
before
@Operation(summary = "전체 주문 조회")
@GetMapping("/all")
public ResponseEntity<CommonResponse<OrderListResponseDto>> getAllOrders() {
OrderListResponseDto responseDto = orderService.getAllOrders();
return ResponseEntity.ok(new CommonResponse<>("전체 주문 목록이 조회되었습니다.", responseDto));
}
after
@Operation(summary = "전체 주문 조회")
@GetMapping("/all")
public ResponseEntity<CommonResponse<OrderListResponseDto>> getAllOrders() {
OrderListResponseDto responseDto = orderService.getAllOrders();
return ResponseEntity.ok(new CommonResponse<>(SuccessCode.ORDER_ALL_INFO, responseDto));
}
Success
// order
ORDER_CREATE(HttpStatus.OK, "전체 주문을 조회하는데에 성공하였습니다.", "S_ORDER_CREATE"),
ORDER_ALL_INFO(HttpStatus.OK, "전체 주문을 조회하는데에 성공하였습니다.", "S_ORDER_LIST_INFO"),
ORDER_DETAIL_INFO(HttpStatus.OK, "주문 상세정보를 조회하는데에 성공하였습니다.", "S_ORDER_LIST_INFO"),
내일은
맞나???
너무 공감합니다.