문제 정의

코드 오류부분.png

Postman으로 리뷰 생성 테스트 중에 작성자를 받아오는 orderId값을 받아오지 못하는 상황이 발생

초기 문제 코드.png

코드 상으로는 @PathVariable을 이용하여 Long orderId 값을 받아 오도록 작성했으나 원인이 무엇때문인지 Long값을 받아오지 못함

오류 부분상 User의 정보는 받아오는것 같지만 리뷰 작성 구조는 User가 장바구니에 메뉴를 담아 주문을 했을경우 작성함으로 주문쪽인 orderId의 값을 받아 오지못하는것으로 추정됨

조치 방안 검토

Spring - 사용자가 전달한 값 사용하기 - 7 (Command 객체, @RequestParam, @PathVariable) - 7

url에 설정해둔 값을 PathVariable로 받아올시 밑에 예제처럼 String id와 같이 이름이 같다면 (”id”) 부분이 생략이 가능하다

@RestController
public class MemberContoller{
	@GetMapping("/test/url/{id}")
	public String findById(@PathVariable("id") String id) {
		retrun "Id: " + id;
	}
}

하지만 URI 에 있는 특정값을 지정하여 변수로 지정하고 싶다면 위 코드와 같이

@PathVariable뒤에 ( ) 를 넣어 url의 변수명을 넣은후 뒤에 오는 변수명의 타입, 값을 넣어야한다.