Controller.java


import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;

//타입이 json일경우
String resultType = "json"
//String resultType = "xml"

if("xml".equals(resultType)) {

response.setContentType("application/xml");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(new XmlMapper().writeValueAsString(result));
}

//타입이 json일경우
else {
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(new ObjectMapper().writeValueAsString(result));
}

- void로 선언해야하고 xml에 최상단 이름은 vo 이름을 따라가므로 최상단 이름으로 vo를 만들어야합니다.

 

vo.java


public class ResultData {
	//응답코드
	private String rscode;
	
	//응답메시지
	private String rsMsg;
	
	//토큰키
	private String rsToken;
	
	public String getRscode() {
		return rscode;
	}
	public void setRscode(String rscode) {
		this.rscode = rscode;
	}
	public String getRsMsg() {
		return rsMsg;
	}
	public void setRsMsg(String rsMsg) {
		this.rsMsg = rsMsg;
	}
	public String getRsToken() {
		return rsToken;
	}
	public void setRsToken(String rsToken) {
		this.rsToken = rsToken;
	}

}

return 값이 json

 

return 값이 xml

 

복사했습니다!