GET 처리하는 서비스. "Hello World!" 출력.
name
이라는 parameter을 request에 추가하는 경우, 그 name
parameter에 있는 내용물이 reply에서 함께 전해짐 ("Hello (name)")
답변이 JSON 형식이고, id랑 내용물을 보유하는데 이를 mimick할 클래스를 만든다. 이 때 record
라는 Java keyword를 활용한다.
JSON
이 형성이 되는 이유는? 바로 Spring Web starter에 포함되어 있는 Jackson JSON
library 때문이다.@GetMapping
GET request 처리용 annotation.
타 HTTP verb에 대한 annotation들도 존재. (@PostMapping
)
모든 Request에 대한 Mapping annotation도 존재 (@RequestMapping
)
@RequestParam
request에 온 parameter을 mapping할 때 사용.
코드에선 해당 parameter이 존재하지 않을 경우 사용할 defaultValue
도 설정 중.
AtomicLong
classJava의 Long
type을 위한 atomic value
필자는 C/C++에서 이미 엄청 많이 써봤기에 atomic value는 알고 있다고 가정...
class 관련 글. atomic value에 대해 이미 안다면 이해에 어렵진 않을 것이다.
아무레도 웹 서버이다 보니 여러 request가 동시다발적으로 오고, id
는 unique해야 해가지고 이런 식으로 처리한 것 같다.