46 lines
1.0 KiB
Plaintext
46 lines
1.0 KiB
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",role="primary"]
|
|
----
|
|
@RestController
|
|
public class HelloController {
|
|
|
|
@GetMapping("/hello")
|
|
public String handle() {
|
|
return "Hello WebFlux";
|
|
}
|
|
}
|
|
----
|
|
|
|
Kotlin::
|
|
+
|
|
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
|
|
----
|
|
@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.
|
|
|
|
|
|
|