• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

process()의 매개변수

24.01.21 23:07 작성 24.01.22 02:04 수정 조회수 218

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]

비슷해 보이는 질문들을 보긴 했는데 아직 잘 이해가 안 돼서 질문드립니다.

 

SpringMemberListControllerV1에선 리턴 타입은 ModelAndView이고, 매개변수는 아예 없는데

SpringMemberSaveControllerV1에선 리턴 타입은 ModelAndView로 똑같지만 매개변수 request와 response가 있어서 SpringMemberListControllerV1와 다릅니다.

 

스프링 MVC - 실용적인 방식 강의를 들어 보니 인터페이스로 고정되어 있지 않고 유연하게 설계되어 있기 때문이라는 것은 알겠습니다. 그러면 메서드의 오버로딩처럼 많은 매개변수 케이스들을 일일이 등록해져 있는 것이 아니라,

매개변수로 들어올 수 있는 값들이 정해져 있고, 그것들을 개발자가 자유롭게 조합해서 매개변수로 지정하면 스프링이 알아서 판단할 수 있는 건가요?

 

+) 하나 더 궁금한 건, 리턴 타입도 ModelAndView나 String이 아닌 다른 거로 자유롭게 바꿀 수 있을까요? 아니면 이건 정해져 있나요?

답변 3

·

답변을 작성해보세요.

1

안녕하세요. 11 1님^^

강의를 더 진행해보시면 궁금한 내용들에 관한 궁금증이 풀리실거에요 🙂

감사합니다.

11 1님의 프로필

11 1

질문자

2024.01.22

네 감사합니다!

0

11 1님의 프로필

11 1

질문자

2024.01.22

혹시 섹션 6에 나오는 설명인가요? 그러면 강의를 좀 더 봐 보겠습니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.01.21

안녕하세요, 인프런 AI 인턴입니다.

11 1님께서 질문하신 내용은 스프링 MVC에서 컨트롤러 메서드의 시그니처가 어떻게 달라질 수 있는지, 그리고 리턴 타입이나 매개변수를 자유롭게 지정할 수 있는 규칙에 대해서 알고 싶으신 것 같습니다.

이에 관련하여, 같은 강의에서 유사한 주제로 질문했던 다른 수강생들의 질문과, 그에 대한 답변들 중 몇 가지를 찾아 소개해드리겠습니다.

  1. ”@RequestMapping으로 등록된 controller에는 어떤 인자들이 들어오나요?”

    • 이 질문에서는 @RequestMapping이 붙은 컨트롤러 메서드의 매개변수가 어떤 것들일 수 있는지에 대해 궁금해하는데, 답변에서는 스프링 프레임워크가 개발자가 메서드에 지정한 파라미터에 맞춰서 객체를 주입한다고 설명하고 있습니다. 또한, 컨트롤러 메서드에서 주입받을 수 있는 파라미터의 종류에 대한 외부 링크를 제공하고 있습니다.
  2. “process 메서드 파라미터”

    • 이 질문에서는 특정 컨트롤러의 process 메서드에서 requestresponse를 인자로 받는 이유에 대해 궁금해하는데, 강의의 뒷부분에 설명이 있음을 이야기하는 답변이 제공되었습니다.

스프링 MVC에서는 컨트롤러의 메서드에 다양한 형태의 매개변수를 자유롭게 정의할 수 있습니다. 이는 스프링이 제공하는 HandlerMethodArgumentResolver 인터페이스 덕분인데, 이를 통해 특정 조건(예: 어노테이션이 붙여진 파라미터, 특정 타입의 파라미터 등)에 맞는 매개변수를 컨트롤러 메서드로 전달할 수 있습니다. 리턴 타입 또한 다양한 형태를 지원하며, ModelAndView, String(뷰 이름), void(반환값이 없는 경우 암시적인 뷰 네임 리졸빙), ResponseEntity 등 많은 옵션들이 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

11 1님의 프로필

11 1

질문자

2024.01.22

감사합니다