2022_03_01 - oneso123456789/2022 GitHub Wiki

other

10.2.3 ์กฐํšŒ ์ฒ˜๋ฆฌ์™€ ํ…Œ์ŠคํŠธ p217

๋“ฑ๋ก์ฒ˜๋ฆฌ์™€ ์œ ์‚ฌํ•˜๊ฒŒ ์กฐํšŒ ์ฒ˜๋ฆฌ๋„ BoardController๋ฅผ ์ด์šฉํ•ด์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ
ํŠน๋ณ„ํ•œ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ์กฐํšŒ๋Š” GET ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋ฏ€๋กœ, @GetMapping์„ ์ด์šฉํ•จ

com.crow.controller.BoardController ํด๋ž˜์Šค์˜ ์ผ๋ถ€

    @GetMapping("/get")
    public void get(@RequestParam("bno") Long bno, Model model) {
        
        
        log.info("BoardController /get");
        model.addAttribute("board", service.get(bno));
    }

BoardController์˜ get() ๋ฉ”์„œ๋“œ์—๋Š” bno ๊ฐ’์„ ์ข€ ๋” ๋ช…์‹œ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” @RequestParam์„ ์ด์šฉํ•ด์„œ ์ง€์ •ํ•จ
(ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„๊ณผ ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ๊ธฐ์ค€์œผ๋กœ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋žตํ•ด๋„ ๋ฌด๋ฐฉํ•จ)
๋˜ํ•œ ํ™”๋ฉด ์ชฝ์œผ๋กœ ํ•ด๋‹น ๋ฒˆํ˜ธ์˜ ๊ฒŒ์‹œ๋ฌผ์„ ์ „๋‹ฌํ•ด์•ผ ํ•˜๋ฏ€๋กœ Model์„ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ง€์ •ํ•จ

์กฐํšŒ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑ

com.crow.controller.BoardControllerTests ํด๋ž˜์Šค์˜ ์ผ๋ถ€

    @Test
    public void testGet() throws Exception{
        
        log.info(mockMvc.perform(MockMvcRequestBuilders.get("/board/get")
                .param("bno", "51"))
                .andReturn()
                .getModelAndView().getModelMap());
    }

์ž‘์„ฑ์ค‘ mapping์„ ์ฐพ์„์ˆ˜ ์—†๋‹ค๋Š” ์˜ค๋ฅ˜๊ฐ€ ์•ผ๊ธฐ๋จ ๋ฉ”์†Œ๋“œ๋ฅผ ๋นˆ ๋ฉ”์„œ๋“œ๋กœ ์„ ์–ธํ•ด ์ค€ํ›„ ์–ด๋…ธํ…Œ์ด์…˜๋ถ€ํ„ฐ ์„ ์–ธํ•ด์ฃผ์ž

ํŠน์ • ๊ฒŒ์‹œ๋ฌผ์„ ์กฐํšŒํ•  ๋•Œ ๋ฐ˜๋“œ์‹œ 'bno'๋ผ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ํ•„์š”ํ•˜๋ฏ€๋กœ param()์„ ํ†ตํ•ด์„œ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹คํ–‰ํ•จ

ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์ œ๋Œ€๋กœ ์ˆ˜์ง‘๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  SQL์˜ ์ฒ˜๋ฆฌ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ
๋งˆ์ง€๋ง‰์—๋Š” Model์— ๋‹ด๊ฒจ ์žˆ๋Š” BoardVO ์ธ์Šคํ„ด์Šค์˜ ๋‚ด์šฉ์„ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Œ