- RestTemplate
HTTP 통신을 위한 도구로 RESTful API 웹 서비스와의 상호작용을 쉽게 외부 도메인에서 데이터를 가져오거나 전송할 때 사용되는 스프링 프레임워크의 클래스
ResponseEntity<String> response = restTemplate.postForEntity(url, requestData, String.class);
url -> Flask 서버의 주소
requestData -> Flask 서버로 보내는 데이터
서버로부터 응답이 오면 응답을 response라는 변수에 저장
if (response.getStatusCode() == HttpStatus.OK) {
ObjectMapper는 JSON 데이터를 Java 객체로 변환해 주는 역할
Map<String, Object> responseBody = objectMapper.readValue(
response.getBody(), new TypeReference<Map<String, Object>>() {});
Flask 서버가 Json 문자열을 전달 -> Json 문자열을 Java에서 사용할 수 있는 객체로 변환해야함
objectMapper.readValue() -> JSON 문자열을 Java 객체로 변환
response.getBody() -> Flask 서버에서 받은 문자열 가져옴
TypeReference<Map<String, Object>>() -> 어떤 자료형으로 변환할지 알려준다.
참고
1. https://interconnection.tistory.com/137
2. https://velog.io/@zooneon/Java-ObjectMapper%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC-JSON-%ED%8C%8C%EC%8B%B1%ED%95%98%EA%B8%B0
3. https://studyingazae.tistory.com/196
사용자는 'http://localhost:8082/usr/recommended/question' 페이지에서 질문을 입력
입력된 질문은 GET방식으로 'http://localhost:8082/usr/recommended/ask?question=질문내용' 페이지로 전달
UsrRecommendedController에서 받은 질문은 JSON으로 변환하여 Flask서버에 POST 요청
Flask 서버는 질문을 처리하고 응답을 반환
반환된 응답은 answer.html 페이지에서 표시


성공!! 스프링 부트에서 openAI API 이용하여 gpt 연동 성공!!!
이제 내가 생각한 디자인을 적용해서 원하는 응답 받을 수 있도록 해보자!!!