package org.springframework.samples.mvc.response; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; @Controller @RequestMapping(value="/response", method=RequestMethod.GET) public class ResponseController { @RequestMapping("/annotation") public @ResponseBody String responseBody() { return "The String ResponseBody"; } @RequestMapping("/charset/accept") public @ResponseBody String responseAcceptHeaderCharset() { return "\u3053\u3093\u306b\u3061\u306f\u4e16\u754c\uff01 (\"Hello world!\" in Japanese)"; } @RequestMapping(value="/charset/produce", produces="text/plain;charset=UTF-8") public @ResponseBody String responseProducesConditionCharset() { return "\u3053\u3093\u306b\u3061\u306f\u4e16\u754c\uff01 (\"Hello world!\" in Japanese)"; } @RequestMapping("/entity/status") public ResponseEntity<String> responseEntityStatusCode() { return new ResponseEntity<String>("The String ResponseBody with custom status code (403 Forbidden)", HttpStatus.FORBIDDEN); } @RequestMapping("/entity/headers") public ResponseEntity<String> responseEntityCustomHeaders() { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.TEXT_PLAIN); return new ResponseEntity<String>("The String ResponseBody with custom header Content-Type=text/plain", headers, HttpStatus.OK); } }