Bean Validation ์ด๋? ๋จผ์ Bean Validation์ ํน์ ํ ๊ตฌํ์ฒด๊ฐ ์๋๋ผ Bean Validation 2.0(JSR-380)์ด๋ผ๋ ๊ธฐ์ ํ์ค์ด๋ค. ์ฝ๊ฒ ์ด์ผ๊ธฐํด์ ๊ฒ์ฆ ์ ๋
ธํ
์ด์
๊ณผ ์ฌ๋ฌ ์ธํฐํ์ด์ค์ ๋ชจ์์ด๋ค. Bean Validation์ ๊ตฌํํ ๊ธฐ์ ์ค์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ตฌํ์ฒด๋ ํ์ด๋ฒ๋ค์ดํธ Validator์ด๋ค. ๊ณต์ ์ฌ์ดํธ: http://hibernate.org/validator/ ๊ณต์ ๋ฉ๋ด์ผ: https://docs.jboss.org/hibernate/validator/6.2/reference/en-US/html_single/ ๊ฒ์ฆ ์ ๋
ธํ
์ด์
๋ชจ์: https://docs.jboss.org/hibernate/validator/6.2/reference/en-US/ html_s..
๋ฉ์ธ์ง ๋ฉ์ธ์ง๋ฅผ ํ์ผ๋ก ๊ด๋ฆฌํ๋ ๊ธฐ๋ฅ(messages.properties ํ์ผ์์ ๊ด๋ฆฌ) ๋ฌธ์์ด์ ํ๋์ฝ๋ฉํ์ง ์๊ณ ํ์ผ์ ์๋ ๊ฐ์ ์ฝ์ด์์ ๋ณด์ฌ์ค๋ค. item=์ํ item.id=์ํ ID item.itemName=์ํ๋ช
item.price=๊ฐ๊ฒฉ item.quantity=์๋ ๊ตญ์ ํ ๋๋ผ๋ณ๋ก ๋ฉ์ธ์ง ํ์ผ์ ๊ด๋ฆฌํด์ ๊ฐ ์ธ์ด์ ๋ง๋ ๋ฉ์ธ์ง ํ์ผ์ ๋ณด์ฌ์ฃผ๋ ๊ธฐ๋ฅ. ์ ์ ๊ฐ ์ ๊ทผํ ๋๋ผ๋ฅผ ํ์ธํ๋ ๋ฐฉ๋ฒ์ HTTP accept-language ํค๋ ๊ฐ์ ์ฌ์ฉํ๊ฑฐ๋ ์ฌ์ฉ์๊ฐ ์ง์ ์ธ์ด๋ฅผ ์ ํํ๊ฒ ํ๊ณ ์ฟ ํค ๊ฐ์ ์ด์ฉํ๋ฉด ๋๋ค. -> LocaleResolver ์ฌ์ฉ Locale์ด en_US ์ ๊ฒฝ์ฐ messages_en_US -> messages_en -> messages ์์๋ก ์ฐพ๋๋ค. ๊ตฌ์ฒด์ ์ธ ๊ฒ์ด ์์ผ๋ฉด ๊ตฌ..
Spring @RestController ์๋ต ์, ์ ์ ๋์ง ์์ ๊ฐ๋ ๊ฐ์ด ์๋ต๋๋ ์ด์ @Getter @Setter public class UserDomain { private String name; private int age; public boolean isTwenties() { if (this.age >= 20 && this.age < 30){ return true; } return false; } } ์์ ๊ฐ์ด, ๋๋ฉ์ธ ๊ฐ์ฒด ์์ ๋น์ฆ๋์ค ๋ก์ง์ด ํฌํจ๋ ๋ฉ์๋๊ฐ ์กด์ฌํ๋ค๊ณ ์์ํด๋ณด์. isTwenties() ๋ ํ์ฌ User์ ๋์ด๋ฅผ ํ๋จํ์ฌ 20๋์ธ์ง ์๋์ง๋ฅผ ์๋ ค์ฃผ๋ ๋ฉ์๋์ด๋ค. @RestController public class UserController { @GetMapping("/u..
Spring REST Docs ๊ฐํ ๋ฐ๋ก ๊ฐํ ๋ฌธ์๋ฅผ ์
๋ ฅํ๋ฉด ์๋๊ณ , ๋ฌธ์์ด์์ + ๋ช
์ ํ \n ์
๋ ฅ // ๊ฐํ์ ๋ฌธ์์ด์ ํ์นธ(์คํ์ด์ค) ๋๊ณ + ์
๋ ฅ // ๊ทธ๋ฆฌ๊ณ ๊ฐํ ๋ฌธ์๋ฅผ ๋ฐ๋ก "\n" parameterWithName("name").description("This is the description +" + "\n" + "in the table."), // ์๋๋ ๋ฒ์ parameterWithName("name").description("This is the description \n in the table."), ๐ Reference ๋๋ณด๊ธฐ https://stackoverflow.com/questions/66405730/when-using-spring-rest-docs-how-do-i-make..
FrontController ํ๋ก ํธ ์ปจํธ๋กค๋ฌ ์๋ธ๋ฆฟ ํ๋๊ฐ ๋ชจ๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ๊ณ ํ๋ก ํธ ์ปจํธ๋กค๋ฌ๊ฐ ์์ฒญ์ ๋ง๋ ์ปจํธ๋กค๋ฌ๋ฅผ ์ฐพ์์ ํธ์ถํด์ฃผ๋ ํ์. ํ๋ก ํธ ์ปจํธ๋กค๋ฌ๋ฅผ ์ ์ธํ ๋๋จธ์ง ์ปจํธ๋กค๋ฌ๋ ์๋ธ๋ฆฟ์ ์ฌ์ฉํ์ง ์์๋ ๋๋ค. ํธ๋ค๋ฌ ์ปจํธ๋กค๋ฌ์ ์ด๋ฆ์ ๋ ๋์ ๋ฒ์์ธ ํธ๋ค๋ฌ๋ก ๋ณ๊ฒฝํ๋ค. ํธ๋ค๋ฌ ์ด๋ํฐ ๋ค์ํ ์ข
๋ฅ์ ์ปจํธ๋กค๋ฌ๋ฅผ ํธ์ถํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ด๋ํฐ public interface MyHandlerAdapter { boolean supports(Object handler); // ์ด๋ํฐ๊ฐ ํด๋น ์ปจํธ๋กค๋ฌ(ํธ๋ค๋ฌ)๋ฅผ ์ฒ๋ฆฌํ ์ ์๋์ง ํ๋จ ModelView handle(HttpServletRequest request, HttpServletResponse response, Object handler) ..