Added a `@RestController`
[demos/spring-boot] / src / main / java / de / juplo / demo / DemoRestController.java
1 package de.juplo.demo;
2
3 import lombok.RequiredArgsConstructor;
4 import lombok.extern.slf4j.Slf4j;
5 import org.springframework.web.bind.annotation.*;
6
7
8 @RequiredArgsConstructor
9 @RestController
10 @Slf4j
11 public class DemoRestController
12 {
13   public final String PLACEHOLDER_TO = "TO_NAME";
14   public final String PLACEHOLDER_FROM = "FROM_NAME";
15
16
17   private final String from;
18
19
20   @PostMapping("{to}")
21   public GreetingTO greet(
22       @PathVariable String to,
23       @RequestBody String greeting)
24   {
25     String message = greeting
26         .replaceAll(PLACEHOLDER_FROM, from)
27         .replaceAll(PLACEHOLDER_TO, to)
28         .trim();
29
30     log.info("Greeting from {} to {}: {}", from, to, message);
31
32     return GreetingTO.of(message, from, to);
33   }
34 }