본문 바로가기
IT_Developers/JAVA

Spring - Class 객체를 사용해 JSON 만들기

by 고코더 2022. 2. 8.

안녕하세요.

고코더 입니다.

 

 

이번 시간에는 클래스 객체를 만들어서 JSON을 만들어 보도록 하겠습니다. 이전 시간에 사용한 해쉬맵 형태는 보다 좀 더 효율적이고 실제로 많이 사용하는 객체지향식 방식입니다. 이번에도 크게 어려운 부분은 없으니 쉽게 따라와 보시길 바랍니다. 

 

모델 패키지와 클래스 생성

 

1. 패키지를 생성합니다. 패키지 생성법은 마우스 오른쪽 버튼을 눌러 New -> Package를 입력합니다. 

 

2. 패키지명은 model입니다. 이곳에서는 모델 객체를 만들어 사용할 폴더라고 생각하시면 됩니다.  

 

3. 다음은 'GoCoder'라는 클래스를 생성합니다. 이곳에서는 Json에 사용할 변수를 만들 것입니다. 

 

4. GoCoder.java 안에 내용은 아래와 같습니다. 3개의 변수를 만들었습니다. 그리고 특이한 점은 Lombok에서 제공하는 @Getter, @Setter 가 있습니다. 이 어노테이션을 꼭 필수로 적용하셔야 합니다. 그러면 클래스 객체는 준비가 완료되었습니다. 첫 번째 프로젝트 생성 시간에 Lombok 추가하였기 때문에 해당 기능을 사용할 수 있게 된 것입니다. 만약 해당 기능이 사용불가로 빨간 줄이 뜬다면 의존성을 주입해야 합니다. 

package net.gocoder.restapi.info.model;

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class GoCoder {
    public String homepage;
    public String brunch;
    public String job;
    
}

 

모델 패키지와 클래스 생성

5. 다음은 infoController로 이동해서 해당 소스를 입력합니다. 이번에는 클래스를 new()를 사용해 객체를 생성하고 그 객체 안에 변수를 집어넣는 방식입니다. 그리고 변수 안에 내용을 입력하고 이를 그대로 return 하면 Json 형태로 웹사이트에 노출되게 됩니다. 

4번째 : 위에서 GoCoder 만든 객체를 생성한다.

6~8번째 : 표시하고 싶은 데이터를 입력한다.

10번째 : 인스턴스 한 객체를 그대로 return 한다.

    @GetMapping("/gocoder")	
	public Object goCoderInfo() {
		
		GoCoder gocoder = new GoCoder();
		
		gocoder.homepage = "GoCoder.net";
		gocoder.brunch =  "brunch.co.kr/@gocoder";
		gocoder.job =  "developer, author";
		
		return gocoder;
		
	}

파일 위치 : /GoCoderRestAPI/src/main/java/net/gocoder/restapi/info/infoController.java

 

결과 화면

 5. 그러면 이렇게 자동으로 @RestController가 Json 형태로 클래스를 반환합니다. 

접속 URL : http://localhost:8080/gocoder

댓글