Spring / Spring7 basics Interview questions
What is a RestController in Spring MVC?
@RestController is a convenience annotation combining @Controller and @ResponseBody, meaning every handler method's return value is written directly to the HTTP response body - typically serialized to JSON by Jackson - instead of being resolved to a view template.
@RestController @RequestMapping("/api/books") public class BookController { @GetMapping("/{id}") public Book getBook(@PathVariable Long id) { return bookService.findById(id); } }
Without @RestController (using plain @Controller instead), returning a Book object from a method annotated only with @GetMapping would be treated as a view name to resolve, which usually isn't what you want for a REST API. @RestController is the standard choice for building JSON-based backend services.
More Related questions...