본문 바로가기
java/spring

Spring 서버에서 객체를 JSON으로 변환 후 응답하기

by 일상코더 2022. 10. 6.

JSON 응답

 

클라이언트는 서버를 거쳐서 DB에 접근한다. 클라이언트가 DB에서 필요한 정보를 얻기 위해, 

서버에게 데이터를 요청하면 서버에서는 클라이언트가 필요한 데이터 또는 그 데이터가 포함된 데이터를 보내준다.

 

 

이 때, 서버가 보내주는 데이터는 클라이언트가 해석하기 쉬우면 좋고, 내용이 간결해서 전송속도가 빠르면 좋을 것입니다. 그래서 사용하는 데이터의 형식 중 대표적인 하나가 JSON입니다. Jackson 라이브러리 는 JAVA Object 형태의 값을 데이터 구조를 표현하는 방식인 XML 또는 JSON 형태로 만들어 보낼때 사용하는 라이브러리다.

 

 

Jackson 라이브러리 특징

 - XML/YAML/CSV 등 다양한 형식의 데이터를 지원

 - 스트림 방식으로 속도가 빠르며 유연하고, annotation 방식으로 메타 데이터를 기술할 수 있음

 - ObjectMapper API를 사용하여 객체에 데이터 세팅을 함

 

Spring 3.0 이후부터, 스프링에서 Jackson 관련 API를 제공하여 자동화 처리가 가능하게 됨

 

 

 

Person.java

//person 클래스
public class Person{

	
    private String name;
    private String address;
    private String job;

	//PersonClass에서 getPerson 메서드의 반환타입이 Person이기때문에
    //getter로 이값이 전달되서 postman에서 reponse값으로 확인 할 수 있다.

    public String getName(){
        return this.name;
    }

    public String getAddress(){
        return this.address;
    }

    public String getJob(){
        return this.job;
    }

    public String address(){
        return this.address;
    }

    public String job(){
        return this.job;
    }

	//PersonController 에서 해당 객체에 값을 넣어주기 위해
    public void setName(String name){
        this.name = name;
    }

    public void setAddress(String address){
        this.address = address;
    }

    public void setJob(String job){
        this.job = job;
    }
}

 

PersonController.java

 

@RestController  //@RestController를 입은 컨트롤러는 요청 매핑 애노테이션을 붙인 
				 //메서드의 리턴으로 jsp의 경로를 반환하는 것이 아니라 '객체' 를 반환합니다.
public class PersonController{
	
    @GetMapping("/myinfo")
    public Person getPerson(){
    	Person person = new Person();
        person.setName("이기재");
        person.setAddress("서초구");
        person.setJon("개발자");
        return person;    //jackson라이브러리에서 JAVA Object 형태의 값을 Json형식으로 바꾸어줌
        		  // 자바 객체(Object) <--->JSON형식의 문자열 데이터 변환을 처리하는 라이브러리
    } 
}

 

클라이언트에서 Get방식으로 (동적 데이터 조회)

동적 데이터 조회

 

JSON 형식의 데이터 형태로 Response 

 

Response

 

참고자료

https://jaehoney.tistory.com/69

 

Spring - 서버에서 객체를 JSON으로 변환 후 응답하기 (+ API 서버 만들기)

JSON 응답? 클라이언트는 서버를 거쳐서 DB에 접근합니다. 클라이언트가 DB에서 필요한 정보를 얻기 위해, 서버에게 데이터를 요청하면 서버에서는 클라이언트가 필요한 데이터 또는 그 데이터가

jaehoney.tistory.com

https://blog.naver.com/PostView.naver?blogId=hj_kim97&logNo=222391370482 

 

[Spring]Spring Jackson 라이브러리 설정 및 사용법

Jackson 라이브러리 Java Object 형태의 값을 데이터 구조를 표현하는 방식인 XML 또는 JSON 형...

blog.naver.com

 

 

'java > spring' 카테고리의 다른 글

Spring Security 작동 순서  (0) 2022.10.13
스프링 부트 동작 원리  (0) 2022.10.09
Spring IoC  (0) 2022.10.09
DI(Dependency Injection)  (0) 2022.10.09
Memo api 구현  (0) 2022.10.07

댓글