Package org.springframework.web.bind.annotation

# Annotation Interface RestController

@Target(TYPE) @Retention(RUNTIME) @Documented @Controller @ResponseBody public @interface RestController
A convenience annotation that is itself annotated with `@Controller` and `@ResponseBody`.

Types that carry this annotation are treated as controllers where `@RequestMapping` methods assume `@ResponseBody` semantics by default.

NOTE: `@RestController` is processed if an appropriate `HandlerMapping`-`HandlerAdapter` pair is configured such as the `RequestMappingHandlerMapping`-`RequestMappingHandlerAdapter` pair which are the default in the MVC Java config and the MVC namespace.

Since:
  4.0
Author:
  Rossen Stoyanchev, Sam Brannen

## Optional Element Summary

Optional Elements
Modifier and Type
Optional Element
Description
`String`
`value`
The value may indicate a suggestion for a logical component name, to be turned into a Spring bean in case of an autodetected component.

## Element Details

### value

@AliasFor(annotation=org.springframework.stereotype.Controller.class) String value
The value may indicate a suggestion for a logical component name, to be turned into a Spring bean in case of an autodetected component.

Returns:
  the suggested component name, if any (or empty String otherwise)
Since:
  4.0.1

Default:
  ""