v8
★ LAB · REST

REST 컨트롤러로 변환

REST API와 마무리 — 실습

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

사전 준비

이번 실습의 목표

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

1
코드 작성
// 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);
    }
}
CHECKPOINT
  • 코드를 작성한 뒤 빨간 줄(컴파일 오류)이 없는가?
2
실행 + 결과 확인

Run on Server 또는 javac+java 로 실행하고 결과를 확인합니다.

CHECKPOINT
  • 예상한 동작이 일어났는가?
  • 안 됐다면 F12 / 콘솔 / 로그 어디서 단서가 보이는가?

실습 완료 체크리스트

v6 → v8 변환은 거의 기계적
Model / View 가 사라짐
JSON 으로 응답
v8 마일스톤 — REST 게시판 시작