[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
이 강의는 Spring Boot를 이용해서 RESTful Web Services 애플리케이션을 개발하는 과정에 대해 학습하는 강의으로써, REST API 설계에 필요한 기본 지식에 대해 학습할 수 있습니다.


[업데이트] Section 4에 "Jev — 타입으로 결정하기" 보충 강의(약 1시간)가 추가되었습니다
안녕하세요. Spring 개발자를 위한 실전 LLM 서비스 개발 (Part 1) 강의에 새 보충 강의를 추가했습니다. 최근 공개된 TypeSafe AI의 결정 모델 Jev를 Spring Boot 애플리케이션에 연동하는 내용으로, 약 1시간 분량입니다.
왜 추가했나
Section 4에서 entity()로 LLM 응답을 Java 객체로 받는 방법과, 모델이 JSON을 코드펜스로 감싸 파싱이 깨지는 실무 함정을 다뤘습니다. 프롬프트로 부탁하든 entity()로 자동화하든, 결국 LLM에게 형식을 "부탁"하는 방식이라는 한계는 남습니다.
Jev는 접근이 다릅니다. 글을 쓰지 않고, 정해진 보기 중에서 답을 골라 확률과 함께 돌려줍니다. 형식이 구조적으로 보장되는 셈입니다. 같은 입력을 두 방식으로 처리해 보면 "구조화된 출력"을 설계할 때 무엇을 고려해야 하는지가 훨씬 선명해집니다. 그래서 Section 4의 연장선으로 이 내용을 정리했습니다.
무엇을 배우나요
Jev와 System One 모델의 개념: 텍스트 대신 "타입이 정해진 결정"을 돌려준다는 것의 의미
LLM과 Jev의 차이: 서술형 답안 vs 객관식 답안, 각자 잘하는 일과 못하는 일
세 가지 질문 타입(choice · score · noul)과
/v1/systemone요청 구조Spring에서 호출하기:
RestClient로 Jev API를 호출하고, Java enum으로 보기를 만들어 응답을 타입 안전하게 변환비교 시연: 같은 영화 리뷰를
entity()와 Jev로 각각 분석해 속도, 형식 오류, 확신도, 일관성 비교
함께 업데이트된 자료
Section 4 예제 코드(ch4): 리뷰 분석 API 2종(
/api/movies/review/llm,/api/movies/review/jev)과JevClient추가보충 강의 슬라이드와 교안
비교 테스트 스크립트: macOS용
review-compare.sh, Windows용review-compare.ps1
미리 알아두실 점
Jev는 Spring AI의 기능이 아니라 TypeSafe AI가 제공하는 별도 외부 서비스입니다. 강의에서도 Spring AI의
ChatClient가 아니라RestClient로 직접 호출합니다.Jev는 현재 얼리 액세스 단계라서 API 키 발급에 대기가 있을 수 있습니다. 예제 코드는 기본적으로 Jev 기능이 꺼져 있어(
jev.enabled=false), 키가 없어도 기존 실습은 그대로 진행할 수 있습니다. 키가 없는 분은 영상의 시연을 보시며 개념과 코드 위주로 따라오시면 됩니다.출시 초기 서비스라 이후 가격이나 API가 바뀔 수 있습니다. 변경이 생기면 새 소식으로 다시 안내드리겠습니다.
📌 강의 바로가기: https://inf.run/VVpnV
추가된 강의를 들으시면서 궁금한 점이나 실습 중 막히는 부분이 있으면 댓글로 편하게 남겨주세요. 앞으로도 실무에 바로 쓸 수 있는 내용을 꾸준히 보강하겠습니다.




