• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

@RequestParam 질문드립니다

23.01.31 23:01 작성 23.01.31 23:03 수정 조회수 553

1

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

[질문 내용]
@GetMapping("hello-string") @ResponseBody public String helloString(@RequestParam("name") String name1){ return "hello"+name1; }

위와 같은 코드와 url에서 localhost:8080/hello-string?name=springboot를 입력받았을 때

파라미터 name은 key값으로서 value값인name1과 바인딩 되어 name1에 springboot를 저장 하기위한 용도로 사용되는 건가요?

 

다른 시각으로 name1을 key값로 springboot를 value값 생각해도 되는건가요?

name - name1 - springboot

(key) - (value)

................(key) - (value)

즉, 이렇게 이해해도 되는건가요?

답변 1

답변을 작성해보세요.

1

OMG님의 프로필

OMG

2023.01.31

안녕하세요. 우석님, 공식 서포터즈 OMG입니다.
.

파라미터 name은 key값으로서 value값인name1과 바인딩 되어 name1에 springboot를 저장 하기위한 용도로 사용되는 건가요?

 

key-value에 대한 정의가 제가 생각하는 것과 다른 것 같습니다.

 

@GetMapping("hello-string") @ResponseBody public String helloString(@RequestParam("name") String name1){ return "hello"+name1; }

localhost:8080/hello-string?name=springboot

여기서 key가 name이면 value는 springboot가 되어야 하지 않나 싶습니다.

정의를 논하기 보다는 왜 @RequestParam에 별도의 이름(name)을 지정하여 파라미터(name1)을 사용해야하는지, 어떠한 상황에서 사용하는지에 대한 것을 정리하면 되지 않나 싶습니다.

예를 들어

아래와 같이 input 영역에서 입력한 값을 서버에서 받을 때 name속성의 이름으로 서버 단에서 받을 수 있습니다.

<input type="text" name="id">.. 

그런데, 서버 단에서 id를 이미 사용하고 있어서 사용하지 못하거나

image

혹은 반대로 html에서 name을 다른 name으로 쓰거나, 자바 단에서 이름을 재정의하려는 목적으로 사용합니다.

imageimage

 

.
감사합니다.

우석님의 프로필

우석

질문자

2023.01.31

감사합니다!