Spring Response body set response Content-Type

북마크 추가

Spring에서 ResponseBody 사용시 reponse header의 content-type을 설정 하는 방법입니다.

 

api를 구현하면서 parameter로 &response=xml 또는 &response=json 오면 그에맞는 content-type을 설정해서 보내게 됩니다.

 

@RequestMapping(value="/client/api", method = RequestMethod.GET)

@ResponseBody

public ResponseEntity<String> clientApi(@RequestParam Map<String,String> requestMap) throws Exception

{

HttpHeaders headers = new HttpHeaders();

 

String type = requestMap.get("response").toString();    // response parameter로 들어온 값 확인 (xml or json);

 

if(type.equals("xml"){

headers.add("Content-Type", "Application/xml");

}else if(type.equals("json"){

headers.add("Content-Type", "Applacation/json");

}

 

.

.

.

return new ResponseEntity<String>(message,headers,HttpStatus.CREATED);

// message = return message ex) xml -> <result>success</result> , json = {result:"success"} ....

 

 

타입을 ResponseEntity<String> 으로 설정한 후

HttpHeaders 선언, 리턴시 사용하고 싶은 Content-Type을 add 합니다.

리턴시 ResponseEntity<String>(String,headers,HttpStatus); 를 사용해 리턴합니다.

 

 

 

 

 

AD
관리자
2016-05-24 13:42
SHARE