@RestController

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

Internal

Overview

A convenience stereotype annotations that it is itself annotated with @Controller and @ResponseBody. It is used to designate REST controller components. Being a stereotype annotation, marks the class for discovery by component scanning. Also, because the annotation is also annotated with @ResponseBody, all handler methods in the controller have their return value written directly into the body of the response: @RequestMapping methods assume @ResponseBody semantics by default. Annotating the class with @Controller and each handler methods with @ResponseBody would achieve the same result.

Base Path

The controller's base path is specified as the "path" member of @RequestMapping annotation:

@RestController
@RequestMapping(path = "/a", produces = "application/json")
public class AController {
  ...
}