inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

5강. GET API 개발하고 테스트하기

5~6강 질문이요

387

ghdtldus03a

작성한 질문수 9

1

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

java spring aws mysql spring-boot jpa

답변 2

1

ghdtldus03a

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

0

최태현

안녕하세요~~ 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

김태진

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

패키지 구분에 대해 궁금한게 있습니다

0

15

1

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

0

63

2

스프링부트 버전

0

71

2

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

0

57

2

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

1

55

2

Java JDK 버전 문의의 건

0

132

2

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

0

86

3

h2 console 접속했을 테이블 질문

1

64

1

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

0

74

2

15강. updateUser() 질문

0

55

2

깃허브 질

0

81

2

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

0

78

2

왜안될까요

0

69

2

MySQL 창이안ㄴ뜹니다

0

58

2

포스트맨

0

49

1

spring 개념적인 질문

0

71

2

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

0

139

2

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

0

82

1

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

0

169

3

Whitelabel Error Page 오류가 났습니다.

0

162

2

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

1

90

3

궁금한게 있습니다.

0

57

2

DTO 관련

0

69

2

궁금한게 있습니다!

0

65

2