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 |
댓글