You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
999 B
42 lines
999 B
[[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.
|
|
|