GET을 쓰고 글을 작성하면 POST를 작성하는 것이 일반적이다.GET은 SELECT적인 성향을 갖고 있다.GET은 서버에서 어떤 데이터를 가져와서 보여준다거나 하는 용도이지 서버의 값이나 상태 등을 바꾸지 않는다.
    
    ///////////////// 첫번째 방법 시작 /////////////////
    @GetMapping(path = "query-param")
    public String queryParam(@RequestParam Map<String, String> queryParam) {
        StringBuilder sb = new StringBuilder();
        queryParam.entrySet().forEach( entry -> {
            System.out.println(entry.getKey());
            System.out.println(entry.getValue());
            System.out.println("\n");
            sb.append(entry.getKey() + " = " + entry.getValue() + "\n");
        });
        return sb.toString();
    }
    ///////////////// 첫번째 방법 끝 /////////////////
    ///////////////// 두번째 방법 시작 /////////////////
    @GetMapping("query-param02")
    public String queryParam02(@RequestParam String name, String email, int age) {
        System.out.println(name);
        System.out.println(email);
        System.out.println(age);
        return name + " " + email + " " + age;
    }
    ///////////////// 두번째 방법 끝 /////////////////
    ///////////////// 세번째 방법 시작 /////////////////
    @GetMapping("query-param03")
    public String queryParam03(UserRequest userRequest) {
        System.out.println(userRequest.getName());
        System.out.println(userRequest.getEmail());
        System.out.println(userRequest.getAge());
        return userRequest.toString();
    }
    ///////////////// 세번째 방법 끝 /////////////////
public class UserRequest {
    private String name;
    private String email;
    private int age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    @Override
    public String toString() {
        return "UserRequest{" +
                "name='" + name + '\'' +
                ", email='" + email + '\'' +
                ", age=" + age +
                '}';
    }
}
getter,setter가 없는, 위의 코드에 예를들어 address라는 값이 들어갈 경우 파싱되지 않기 때문에 API를 디자인 할 때 잘 유의해서 디자인을 해야한다.