Can any one tell me how I can return string message from controller?
If i just return a string from a controller method then spring mvc treating it as a jsp view name.
The Best Answer is. public class StringResponse { private String response; public StringResponse(String s) { this. response = s; } // get/set omitted... }
Instead of passing a null argument for your error case, pass in a String . Spring is smart enough to see the String and write it as text to the response body. Alternatively, provide a @ExceptionHandler that will handle the exception itself and have your handler throw the exception.
Spring @GetMapping ExampleThe @GetMapping annotation is a specialized version of @RequestMapping annotation that acts as a shortcut for @RequestMapping(method = RequestMethod. GET) . The @GetMapping annotated methods in the @Controller annotated classes handle the HTTP GET requests matched with given URI expression.
Annotate your method in controller with @ResponseBody
:
@RequestMapping(value="/controller", method=GET) @ResponseBody public String foo() { return "Response!"; }
From: 15.3.2.6 Mapping the response body with the @ResponseBody
annotation:
The
@ResponseBody
annotation [...] can be put on a method and indicates that the return type should be written straight to the HTTP response body (and not placed in a Model, or interpreted as a view name).
With Spring 4, if your Controller is annotated with @RestController
instead of @Controller
, you don't need the @ResponseBody
annotation.
The code would be
@RestController public class FooController { @RequestMapping(value="/controller", method=GET) public String foo() { return "Response!"; } }
You can find the Javadoc for @RestController
here
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With