Spring

Spring - Client의 Parameter들을 Controller에서 받는 방법

naksnaks 2022. 2. 21.
반응형

1. @RequestBody

requestbody는 json형식을 받을 때 주로 사용이 된다.

Client에서 여러개의 인자들을 parameter로 넘겨와서 확인해야할 때 사용한다.

{
  "email" : "test@google.com",
  "nickname" : "test",
  "password" : "test"
}

Client에서 email, nickname, password를 넘겨받아 계정을 생성해주어야 한다.

// 회원가입
@PostMapping("/register")
public void register(@RequestBody RegisterReq registerReq){
    return userService.register(registerReq);
}

이 때, @RequestBody를 사용하여 받는 데이터를 registerReq라는 DTO에 자동으로 넣어준다.

 

2. RequestParam

RequestParam은 필요한 value 값을 URI에 추가하여 받아오는 방법이다.

@RequestParam("가져올 데이터 이름") [데이터타입][가져온 데이터를 담을 변수]

아이디가 test이고 비밀번호가 testpwd인 데이터를 찾고자 할 때 아래와 같이 URL를 바꿔준다.
ex) http://localhost:8080/user/checkUser?id=test&password=testpwd

 

//유저 이메일로 유저 조회
@GetMapping("/user")
public User getUser(@RequestParam("userEmail", required = false) String email){
	return userService.getUserByEmail(email);
}

// 이메일이 test@gmail.com 일 때, 해당 URI
// http://localhost:8080/user?email=test@gmail.com

 

3. PathVariable

PathVariable은 URI에 파라미터를 넣는 또 다른 방법으로 URI의 annotation 뒤에 "{변수명}" 형태로 넣어준다.

// 이메일 중복 확인
@GetMapping("/checkEmail/{email}")
public boolean checkEmail(@PathVariable(name = "email") String myEmail){
    if(userService.doExistUserEmail(myEmail)){
        return true;            //이메일 중복일 때
    }
    return false;               //이메일 중복 아닐 때
}

 

위에 3가지 말고도 파라미터를 받는 방법을 추가적으로 더 알게 된다면, 추후에 추가할 예정입니다.

반응형

'Spring' 카테고리의 다른 글

Spring 기초 개념  (0) 2022.06.24

댓글

💲 추천 글