장바구니 컨트롤러 처리 @PreAuthorize 부분 오류
477
작성한 질문수 7
@PreAuthorize("(#itemDTO.email == authentication.name)")
@PostMapping("/change")
public List<CartItemListDTO> changeCart(@RequestBody(required = true) CartItemDTO itemDTO) {
log.info("itemDTO : {}", itemDTO);
if (itemDTO.getQuantity() <= 0) {
return cartService.remove(itemDTO.getCino());
}
return cartService.addOrModify(itemDTO);
}위코드에서 #ItemDTo 값이 null 설정되는것같습니다.
아무리 찿아봐도 원일을 알수없는데 확인좀 부탁드릴수 있을까요?
우선 오류로그는 아래와 같습니다.
jakarta.servlet.ServletException: Request processing failed: java.lang.IllegalArgumentException: Failed to evaluate expression '(#itemDTO.email == authentication.name)'
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1022) ~[spring-webmvc-6.1.5.jar:6.1.5]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) ~[spring-webmvc-6.1.5.jar:6.1.5]
Caused by: java.lang.IllegalArgumentException: Failed to evaluate expression '(#itemDTO.email == authentication.name)'
Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1007E: Property or field 'email' cannot be found on null
at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:224) ~[spring-expression-6.1.5.jar:6.1.5]
at org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal(PropertyOrFieldReference.java:111) ~[spring-expression-6.1.5.jar:6.1.5]
at org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorValueRef.getValue(PropertyOrFieldReference.java:416) ~[spring-expression-6.1.5.jar:6.1.5]
at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:98) ~[spring-expression-6.1.5.jar:6.1.5]
at org.springframework.expression.spel.ast.OpEQ.getValueInternal(OpEQ.java:42) ~[spring-expression-6.1.5.jar:6.1.5]
at org.springframework.expression.spel.ast.OpEQ.getValueInternal(OpEQ.java:32) ~[spring-expression-6.1.5.jar:6.1.5]
at org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:119) ~[spring-expression-6.1.5.jar:6.1.5]
at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:309) ~[spring-expression-6.1.5.jar:6.1.5]
at org.springframework.security.access.expression.ExpressionUtils.evaluateAsBoolean(ExpressionUtils.java:30) ~[spring-security-core-6.2.3.jar:6.2.3]
답변 2
1
Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1007E: Property or field 'email' cannot be found on null
부분에서 문제가 생기고 있는 거 같습니다.
https://drive.google.com/drive/folders/1ZLHRKaXx8Ou8kZNd1WE6qALxq_wJODXW?usp=drive_link
폴더를 잠시 열어 두었으니 코드를 올려주세요.. (프론트 코드도 있는게 좋을 듯 한데요)
제가 오늘 밤에는 좀 일이 있어서.. 늦어도 내일 오전에 댓글 남기겠습니다.
동일하게 실습하는데 이상하게 페이지를 찾지 못하네요..
0
74
2
22. REST 방식 컨트롤러 만들기(2), 29. 등록처리 부분 질문이 있습니다.
0
74
2
37강. 강의수업듣다 질문드립니다.
0
57
2
TodoDTO test 함수
0
80
3
강사님 오타 있음요
0
80
2
No 1. 교제(ppt) soruce 복붙 문제 의 건
0
95
4
No 1. 교제(ppt) soruce 복붙 문제 의 건
0
70
3
17강 문의드립니다.
0
44
1
카카오 연동설정이 이제 안되는거 같아요
0
199
2
8장 마지막 강의 시 오류
0
98
4
혹시 뭐가 문제인지 알 수 있나요?
0
87
2
챕터: React-Router 설정
0
59
2
백)TODO관련
0
56
2
마리아 db 설치중 포트를 이미 사용중이라고 합니다
0
113
2
이강의 듣고 소화시켰다면 몇년차 정도 개발자라고 할수 있을까요?
0
105
1
CSR , SSR 의 수요 궁금증 질문
0
83
2
섹션5부터...
0
73
1
간단한 코드 질문!!
0
61
2
tbl_todo 질문입니다
0
65
2
수업 외 질문인데 'tbl'이 무슨 의미인가요???
0
292
2
엔티티클래스에서 질문입니다
0
78
2
수정시 writer값이 삭제되는 오류
0
42
2
교안 31 오타 수정해주세요
0
64
2
쿠키에 accessToken, refreshToken을 담고, 조회 시에 undefined
0
82
1





