1 package com.lucidtech.puttingalltogether.controller; 2 3 import com.lucidtech.puttingalltogether.model.Greeting; 4 import org.springframework.web.bind.annotation.GetMapping; 5 import org.springframework.web.bind.annotation.RequestParam; 6 import org.springframework.web.bind.annotation.RestController; 7 8 import java.util.concurrent.atomic.AtomicLong; 9 10 import static java.lang.String.format; 11 12 @RestController 13 public class GreetingController { 14 15 private static final String template = "Hello, %s!"; 16 private final AtomicLong counter = new AtomicLong(); 17 18 @GetMapping("/greeting") 19 public Greeting greeting(@RequestParam(value = "name", defaultValue = "World") String name) { 20 return new Greeting(counter.incrementAndGet(), format(template, name)); 21 } 22 }