PetClinic에서 @ModelAttribute와 @PathVariable
444
작성한 질문수 20
안녕하세요. PetClinic 소스를 보다가 질문이 있어서 올립니다.
@ModelAttribute("owner")
public Owner findOwner(@PathVariable("ownerId") int ownerId) {
return this.owners.findById(ownerId);
}
이와 같은 코드면, Controller에 있는 핸들러 중@PathVariable로 ownerId를 받는 핸들러만 사용 가능한건가요?
답변 3
0
아 PetController에 있는거군요.
네 맞습니다. 그 컨트롤러에 보면 해당 컨트롤러에 오는 모든 요청에 ownerId가 URI path에 들어있기 때문에 저렇게 쓰인거네요.
0
앗! 아닙니다.
PetController.java 에
@ModelAttribute("owner")
public Owner findOwner(@PathVariable("ownerId") int ownerId) {
return this.owners.findById(ownerId);
}
이와 같은 코드가 있는데요.
강의를 듣고 @ModelAttribute가 해당 메소드처럼 사용되면, 컨트롤러에 모든 핸들러에 owner를 view로 보낸다고 이해를 했습니다. 여기에 @PathVariable이 있는 경우는 어떤 의미로 동작하는지에 대해 물어본 것이었습니다.
0
질문을 잘 이해를 못했습니다.
그리고 코드가 이상해서 찾아봤더니 원본 코드는 이렇네요.
@GetMapping("/owners/{ownerId}")
public ModelAndView showOwner(@PathVariable("ownerId") int ownerId)
여기서 @GetMapping 대신 @ModelAttribute로 바꾸면 어떻게 되냐고 물으시는건가요?
7:58 예제 코드 찾는 법
0
256
2
PATCH의 Idempotent에 대한 질문
0
257
1
2:51초 질문입니다.
0
324
1
만약 어플리케이션컨텍스트에 필터를 설정하지 않으면 어떻게되나요?
0
361
0
web.xml에 위치한 애플리케이션 web.xml 내에서 파싱 오류 발생
0
515
0
Spring Boot 2.6 이상 버전에서의 DispatcherServlet
0
366
1
Event`Xxx`Controller 분리할때의 기준에 관한 질문입니다.
0
634
1
11분 57초 쯤, `returnValueHandlers` 들의 네이밍컨벤션 관련 질문입니다.
0
379
1
@EnableWebmvc 설정을 하면
0
415
1
springframework와의 차이점
0
283
1
@RequestBody의 바인딩에러를 잡는 방법
1
1655
2
안녕하세요 기선님 강의를 보다 서블릿에 궁금증이 생겨 질문 드립니다
1
237
1
HelloService의 값을 전달을 못 받습니다.
0
296
1
ServletContext와 WebApplicationContext의 관계 질문
1
740
1
하나의 서비스에, 두개의 리포지토리도 연결이 되나요?
0
365
1
view name 리턴에 대해
0
290
2
Formatter print 질문 드립니다.
0
232
1
에리 메시지가 한글입니다.
0
294
1
java 클래스파일로 설정되어 있던 것을 web.xml로 바꾸는 경우
0
338
1
@RequestParam
0
255
1
@Retention 질문
0
229
1
Event.builder() 관련 mac에서 lombok 문제 있으신 분들
0
199
1
스프링 부트 사용시 WebMvcConfigurerSupport 클래스
0
254
1
http://localhost:8080/hello 입력시 오류
0
493
4





