v8
★ PART · REST

REST 컨트롤러로 변환

REST API와 마무리 — 읽기 자료

📍 지금 어디를 만지고 있나요?
브라우저
REST API와 마무리
DB

1. 문제

전 차시까지의 답답함

기존 v6 게시판을 통째로 옮겨서 REST 버전을 만들자.

2. 새 도구

같은 게시판, 다른 옷

BoardController 를 BoardApiController 로 복사 → return view 를 return 객체로 → @Controller 를 @RestController 로.

3. 코드

// v6 (BEFORE) — com.smhrd.controller
@Controller @RequestMapping("/board")
public class BoardController {
    @GetMapping("/list")
    public String list(Model m) {
        m.addAttribute("boards", service.selectList());
        return "board/list";
    }
}

// v8 (AFTER) — com.smhrd.controller
@RestController @RequestMapping("/api/boards")
public class BoardApiController {
    @GetMapping
    public List<Board> list() {
        return service.selectList();   // 자동 JSON 변환
    }

    @GetMapping("/{num}")
    public Board view(@PathVariable int num) {
        return service.selectOne(num);
    }
}

4. 정리

5. Before / After

전 차시 끝

기존 v6 게시판을 통째로 옮겨서 REST 버전을 만들자.

이번 차시 끝

같은 게시판이 두 가지 인터페이스를 가진다 — JSP 형 + JSON API 형. v8.