JSON 데이터 반환 방법

iy·2024년 1월 18일
0

Spring입문

목록 보기
4/5

JSON 데이터 반환 방법

Response 트렌드가 요청에 맞는 특정한 정보만 반환하는 것을 조금 더 선호함
이런 경향에 따라 JSON형태로 데이터를 반환하는 일이 많음

  • 템플릿 엔진이 적용된 SpringBoot에서는 Controller에서 문자열을 반환하면 templates 폴더에서 해당 문자열의 .html파일을 찾아 반환
  • html 파일이 아닌 JSON 데이터를 브라우저에 반환하고 싶다면 해당 메서드에 @ResponseBody 를 추가해줘야 함

1. 반환값 : String

JSON형태 타입은 서버에서 읽을 수 없음
JSON형태로 클라이언트에 전달하고 싶을 땐 JSON 모습의 String 타입으로 넘겨줘야 함
String 타입으로 넘겨주기 때문에 Content-Type은 text/html

	// Content-Type: text/html
    // Response Body
    // {"name":"스폰지밥","age":13}
    @GetMapping("/json/string")
    @ResponseBody
    public String helloStringJson() {
        return "{\"name\":\"스폰지밥\",\"age\":13}"; // json형태로 생겼지만 String 으로 반환
    }

postman으로 확인해보면

2. 자바 클래스

  • 자바 객체 -> JSON으로 반환
  • Spring에서 자동으로 Java의 객체를 JSON으로 변환
	//content-Type : application/json
    //Response Body
    //{"name":"뚱이","age":15}
    @GetMapping("/json/class")
    @ResponseBody
    public Star helloClassJson(){
        return new Star("뚱이",15);
        //content-Type : application/json 타입반환이 json으로 가능한 이유는 java는 데이터 반환을 application/json으로 반환하게 설정을 함
        // 해당 반환값은 자바 클래스를 반환하기 때문에 json형태 반환이 가능한 것
        // json 타입은 key : value 형태인데 자바 클래스의 필드들의 이름을 key값으로 가져가고 담겨져있는 데이터 값을 value부분에 담아 json형식으로 반환
    }

postman으로 확인해보면

0개의 댓글