๐ Today I Learned - ์ค๋ ๋ด๊ฐ ๊ณต๋ถํ ๊ฒ์ ์ ๋ฆฌํฉ๋๋ค.
๐ซ ๊ณผ์ ํธ๋ฌ๋ธ์ํ
์ธ์ ์ ๋ค์ด์๋ ์ ์ ์๋ณ์ id๋ฅผ ์ ์ญ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ผ๋ก ThreadLocal์ ํ์ฉํ์ฌ id ๊ฐ์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์๋ค.
๐ฌ ํผ๋๋ฐฑ
๐ ์ด ๋ถ๋ถ์ ๊ณผ์ ๋ฅผ ๊ตฌํํ๋ฉด์ ์ค์ค๋ก ๊ณผํ๊ฒ(?) ๊ตฌํํ์์ ๋๊ปด์ ๊ณผ์ ํผ๋๋ฐฑ ์ดํ ๊ฐ์ & ์ ์ฉํ๋ ค๊ณ ํ๋ค.
@PostMapping
public ResponseEntity<ScheduleResponseDto> create(@RequestBody ScheduleRequestDto dto) {
return ResponseEntity.ok(scheduleService.create(dto.getTitle(), dto.getContents()));
}
์ปจํธ๋กค๋ฌ ์ฝ๋๋ง ๋ณด๋ฉด ์ด API๊ฐ ์ธ์ฆ์ด ํ์ํ ๊ธฐ๋ฅ์ธ์ง ์ ์ ์๋ค.
โ Controller ์์๋ถํฐ ์ธ์ฆ์ด ํ์ํ ์ฝ๋์ธ์ง ์ ์ ์๊ฒ ๋ช
์ (์ ์ง๋ณด์ ์ธก๋ฉด)
Spring์์๋ Session์ ์ฝ๊ฒ ๋ค๋ฃจ๋๋ก
@SessionAttribute๋ผ๋ ์ด๋ ธํ ์ด์ ์ด ์ ๊ณต๋๋ค.
HttpServletRequest
@SessionAttribute
request.getSession(true); ์๋ ๋ค๋ฅด๊ฒ Session์ ์๋ก ์์ฑํ๋ ๊ธฐ๋ฅ์ ์๋ค.