본문 바로가기
Programming/Java_Spring

Java spring object <-> Json String

by 곰네Zip 2022. 8. 1.

Java에서 Object를 Json String으로 보내고 받는거 

나의 경우 Server A <-> Server B간에 데이터를 주고받기 위해서 쓴다.

전송하는 형태는 RestTemplate로.

 

우선 보낼때.. Class A를 Json으로 보내보자.

//보낼 클래스 선언
public class MyClass{
  //declare members.
}

public class SenderClass{
	//RestTemplate. 생성을 해도 되지만, Factory에서 받아오도록 구현.    
	private RestTemplate restTemplate;
    
    //보내는 곳.
    public void SendData(MyClass mc, String url){
        //HttpHeader만들기
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);

        //Json String으로 변환
        ObjectMapper objectMapper = new ObjectMapper();
        String sendData = objectMapper.writeValueAsString(mc);

        ResponseEntity<String> resultEntity =
        	this.restTemplate.exchange(url, HttpMethod.POST new HttpEntity<>(sendData, headers), String.class);
    }
}

 대략 저렇게 ObjectMapper를 이용하여 객체를 Json String으로 변환 가능하다.

 

 자.. 이제 받아오는 곳은?

@RequestMapping(value = "/myMethod", method = RequestMethod.POST)
public String myApi(@RequestBody String payload) throws Exception{
	ObjectMapper mapper = new ObjectMapper();
    MyClass obj = mapper.readValue(payload, MyClass.class);
    return "success";
}

 저렇게 받아오면 Json String에서 MyClass로 변환 가능하다.

 

반응형

댓글