Christmas Pikachu GET 요청 - Query Parameter
개발일지/스프링

GET 요청 - Query Parameter

ZI_CO 2022. 11. 30.

package com.example.practice.controller;

import java.util.Map;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.example.practice.dto.UserDTO;

@RestController
@RequestMapping("/api")
public class APIController {

	
	// Query Parameter 방식 1에서 주의 할점은 매개변수에 없는 값을 요청을 하게되면 에러페이지로 넘어가게된다.
	// 즉 추가적인 데이터도 담아서 요청을 보내도 에러페이가 뜨게 된다.
	@GetMapping("/q1") // 요청의 방식 : Query Parameter 방식 1
	public String queryParam1(@RequestParam String name, @RequestParam int age) {
		System.out.println("쿼리 파람으로 요청이 들어왔습니다.");
		System.out.println("쿼리파람 방식으로 들어온 이름은 : " + name + "\n");
		System.out.println("쿼리파람 방식으로 들어온 나이는 : " + age);
		return "당신의 이름은 : " + name + "\n당신의 나의는 : " + age;
	}
	
	
	// 어떤 키값이 들어올지 모를때 Map을 사용하면된다.
	@GetMapping("/q2") 
	public String queryParam2(@RequestParam Map<String, String> data) {
		
		StringBuffer stringBuffer = new StringBuffer();
		 data.entrySet().forEach(entry -> {
			 System.out.println("key : " + entry.getKey());
			 System.out.println("value : " + entry.getValue());
			 stringBuffer.append(entry.getKey() + "=" + entry.getValue() + "\n");
		 } );
		
		return stringBuffer.toString();
	}
	
	
	// DTO를 통해서 데이터 받는 방법
	// 요청할때 추가적이 데이터가 많아도 에러페이지는 발생하지 않는다.
	// 즉 dto 속성에 없는 값이 요청이 들어와도 상관이 없다. 
	@GetMapping("/q3") 
	public String queryParam3(UserDTO user) {
		return "<p> "+user.toString()+"  </p>";
	}
	
	

}

 

 

1

 

 

 

2

 

 

 

3

'개발일지 > 스프링' 카테고리의 다른 글

PUT 요청  (0) 2022.11.30
post 요청 - pathvariable  (0) 2022.11.30
GET 요청 - pathVariable  (0) 2022.11.30
STS 어노테이션 용어 정리  (0) 2022.11.30
STS 프로젝트 생성하기(Gradle - Groovy)  (0) 2022.11.30

댓글