inflearn logo
강의

Course

Instructor

Create your first server with Java and Spring Boot, from development to deployment, easily! [All-in-one server development package]

Lecture 5. Developing and Testing GET APIs

5~6강 질문이요

387

ghdtldus03a

9 asked

1

post방식은 dto 객체 앞에 @RequestBody가 있는데 get방식은 왜 dto객체 앞에 @RequestParam을 안 써요? 맨 처음에 dto 객체 없었을 때 매개변수 이용하였을 때는 @RequestParam 썼던 것 같은데..

java spring aws mysql spring-boot jpa

Answer 2

1

ghdtldus03a

와우 여러 번 읽다 보니 이해가 가네요. 답변도 빠르게해주시고 알아듣기 쉽게 해주셔서 감사합니다

0

lannstark

안녕하세요~~ ghdtldus03a 님!! 아주 좋은 질문이십니다~~ 👍

 

@RequestParam 은 GET API 혹은 DELETE API 에서 HTTP 쿼리를 객체가 아닌 각각의 파라미터로 받을 때만 사용할 수 있어서 그래요!!

예를 들어

@GetMapping("/xxx")
public void helloWorld(@RequestParam String name, @RequestParam int age) {

}

위의 코드는 Stringint파라미터 (매개변수) 그대로 받았죠! 때문에 @RequestParam 을 작성해주었어요!

하지만 만약 이 두 필드를

public class HelloWorldRequest {
  private final String name;
  private final int age;

  // 필요한 생성자 및 getter
}

이렇게 객체로 묶어 주면

@GetMapping("/xxx")
public void helloWorld(HelloWorldRequest request) {

}

@RequestParam 을 사용하지 않아야 동작하게 됩니다!

 

전체적으로 아래와 같이 정리하시면 됩니다~~ 👍

  • GET / DELETE

    • HTTP 쿼리를 사용한다. (ex. /path?name=안녕?age=99)

    • name과 age를 매개변수로 바로 받겠다 -> @RequestParam

    • name과 age를 객체로 묶어 받겠다 -> X

  • POST / PUT

    • HTTP Body를 사용한다. 무조건 @RequestBody

 

답변이 도움이 되었으면 좋겠습니다~ 감사합니다!!! 🙇

1

kshe11049826

우와 저도 이거 궁금했는데 정리가 너무 깔끔합니다. 감사합니다!! 열공 해보겠습니다

리액트 관련 질문이 있습니다.

0

59

2

스프링부트 버전

0

64

2

7강 강의를 들으려고 했는데 오류가 나서 서버가 안 켜지는거 같아요.

0

53

2

33강. UserLoanHistory의 관계성에 대한 질문

1

50

2

Java JDK 버전 문의의 건

0

126

2

ec2 에서 Linux버전이 달라져서 설치가 안되는것 같은데 자료 최신화좀 해주세요.

0

81

3

h2 console 접속했을 테이블 질문

1

62

1

ec2 서버에서 스프링 실행도 되고 인바운드 설정까지 했는데 index.html 안됨

0

71

2

15강. updateUser() 질문

0

51

2

깃허브 질

0

77

2

여기까지 다 끝냈다고 하셨는데

0

75

2

왜안될까요

0

67

2

MySQL 창이안ㄴ뜹니다

0

53

2

포스트맨

0

46

1

spring 개념적인 질문

0

68

2

인텔리제이 샘플코드 실행 안됨 오류

0

138

2

aws 배포할때 .env 파일에 저장한 환경변수에 관하여 여쭤볼게 있습니다

0

81

1

마이그레이션 오류입니다.

0

165

3

Whitelabel Error Page 오류가 났습니다.

0

155

2

안녕하십니까! 오류가 났습니다.. 도와주세요 ㅜㅜ

1

85

3

궁금한게 있습니다.

0

54

2

DTO 관련

0

65

2

궁금한게 있습니다!

0

59

2

35강에서 returnBook 에서 userLoanHistory 값 중복에 관하여

0

52

2