spring-framework/framework-docs/modules/ROOT/pages/web/webflux/controller.adoc

46 lines
1002 B
Plaintext

[[webflux-controller]]
= Annotated Controllers
[.small]#xref:web/webmvc/mvc-controller.adoc[See equivalent in the Servlet stack]#
Spring WebFlux provides an annotation-based programming model, where `@Controller` and
`@RestController` components use annotations to express request mappings, request input,
handle exceptions, and more. Annotated controllers have flexible method signatures and
do not have to extend base classes nor implement specific interfaces.
The following listing shows a basic example:
[tabs]
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes"]
----
@RestController
public class HelloController {
@GetMapping("/hello")
public String handle() {
return "Hello WebFlux";
}
}
----
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@RestController
class HelloController {
@GetMapping("/hello")
fun handle() = "Hello WebFlux"
}
----
======
In the preceding example, the method returns a `String` to be written to the response body.