본문 바로가기
  • _^**_
무근본 IT 지식 공유/무근본 스프링(Spring Framework)

[무근본 스프링(Spring Framework) 공부] 스프링에서 Map 형태로 데이터 리턴하기 - 왕초보도 이해하는 스프링 프레임워크

by 크리드로얄워터 2023. 3. 26.
반응형

Spring에서 Map 형태로 데이터를 리턴하는 경우는 다양합니다.

가장 일반적인 예시는 Controller에서 JSON 형태의 데이터를 리턴하는 경우입니다.

 

Spring MVC는 Jackson이나 Gson 같은 JSON 라이브러리를 사용하여

 

자동으로 Map 형태로 데이터를 변환하고 JSON으로 출력합니다.

 

예를 들어, 다음과 같은 Controller 메소드가 있다고 가정해봅시다.

 

@GetMapping("/students")
public Map<String, Object> getStudents() {
    Map<String, Object> students = new HashMap<>();
    students.put("Alice", 95);
    students.put("Bob", 85);
    students.put("Charlie", 90);
    return students;
}

 

 

위 예제에서는 학생들의 이름을 key로, 성적을 value로 사용하여 Map을 만들고 있습니다.

 

그리고 이 Map을 리턴하고 있습니다.

 

Spring MVC는 이 Map을 JSON 형태로 자동으로 변환하고, HTTP 응답으로 출력합니다.

 

만약 XML 형태로 데이터를 리턴하고 싶다면, Spring MVC는 JAXB 라이브러리를 사용하여 자동으로 Map을 XML로 변환합니다.

 

이 경우에는 Controller 메소드에서 Map 대신 Java 객체를 리턴하면 됩니다.

 

@GetMapping("/students")
public Students getStudents() {
    Map<String, Integer> scores = new HashMap<>();
    scores.put("Alice", 95);
    scores.put("Bob", 85);
    scores.put("Charlie", 90);
    return new Students(scores);
}

public class Students {
    private Map<String, Integer> scores;

    public Students(Map<String, Integer> scores) {
        this.scores = scores;
    }

    public Map<String, Integer> getScores() {
        return scores;
    }

    public void setScores(Map<String, Integer> scores) {
        this.scores = scores;
    }
}

 

 

위 예제에서는 Students 클래스를 만들어서 Map을 포함하도록 했습니다.

 

그리고 Controller에서 이 클래스를 리턴하고 있습니다.

 

Spring MVC는 이 클래스를 XML 형태로 자동으로 변환하고, HTTP 응답으로 출력합니다.

 

반응형

댓글