How do I could add additional header on Response Body

Here is the solution as the suggestion of M. Deinum

@RequestMapping(value="ajaxSuccess", method = RequestMethod.GET)
public ResponseEntity<Map<String, Object>> ajaxSuccess(){
    Map<String, Object> message = new HashMap<String, Object>();

    message.put("severity", "info");
    message.put("location", "/");
    message.put("summary", "Authenticated successfully.");
    message.put("code", 200);

    Map<String, Object> json = new HashMap<String, Object>();
    json.put("success", true);
    json.put("message", message);

    HttpHeaders headers = new HttpHeaders();
    headers.add("Content-Type", "application/json; charset=UTF-8");
    headers.add("X-Fsl-Location", "/");
    headers.add("X-Fsl-Response-Code", "302");
    return (new ResponseEntity<Map<String, Object>>(json, headers, HttpStatus.OK));
}

You can add headers to the ResponseEntity builder. I think it is cleaner this way.

import org.springframework.http.HttpHeaders;
import org.springframework.http.ResponseEntity;

// ...

@GetMapping("/my/endpoint")
public ResponseEntity myEndpointMethod() {

    HttpHeaders headers = new HttpHeaders();
    headers.add(HttpHeaders.CONTENT_TYPE, "application/json; charset=UTF-8");

    return ResponseEntity.ok()
            .headers(headers)
            .body(data);
}

You can also use HttpServletResponse for adding your status and headers in a more easy way:

@RequestMapping(value="ajaxSuccess", method = RequestMethod.GET)
@ResponseBody
public String ajaxSuccess(HttpServletResponse response) {
  response.addHeader("header-name", "value");
  response.setStatus(200);
  return "Body";
}

Therefore you need to add following maven dependency as provided:

<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-servlet-api</artifactId>
    <version>7.0.53</version>
    <scope>provided</scope>
</dependency>