문제 정의
•
사실수집
Postman으로 리뷰 생성 테스트 중에 작성자를 받아오는 orderId값을 받아오지 못하는 상황이 발생
코드 상으로는 @PathVariable을 이용하여 Long orderId 값을 받아 오도록 작성했으나 원인이 무엇때문인지 Long값을 받아오지 못함
•
원인추론
오류 부분상 User의 정보는 받아오는것 같지만 리뷰 작성 구조는 User가 장바구니에 메뉴를 담아 주문을 했을경우 작성함으로 주문쪽인 orderId의 값을 받아 오지못하는것으로 추정됨
조치 방안 검토
•
관련 자료 조사
url에 설정해둔 값을 PathVariable로 받아올시 밑에 예제처럼 String id와 같이 이름이 같다면 (”id”) 부분이 생략이 가능하다
@RestController
public class MemberContoller{
@GetMapping("/test/url/{id}")
public String findById(@PathVariable("id") String id) {
retrun "Id: " + id;
}
}
Java
복사
하지만 URI 에 있는 특정값을 지정하여 변수로 지정하고 싶다면 위 코드와 같이
@PathVariable뒤에 ( ) 를 넣어 url의 변수명을 넣은후 뒤에 오는 변수명의 타입, 값을 넣어야한다.
해결 방안
•
해결방법
◦
@PathVariable 뒤에 (”orderId”) 를 넣음으로서 받아야할 값을 받도록 넣음으로서 해결했다.
◦