Project (09.18) - recommended 페이지 구현 (openAI)

yesang·2024년 9월 18일

개인프로젝트-TripSet

목록 보기
21/32
  • RestTemplate
    HTTP 통신을 위한 도구로 RESTful API 웹 서비스와의 상호작용을 쉽게 외부 도메인에서 데이터를 가져오거나 전송할 때 사용되는 스프링 프레임워크의 클래스
ResponseEntity<String> response = restTemplate.postForEntity(url, requestData, String.class);

url -> Flask 서버의 주소
requestData -> Flask 서버로 보내는 데이터

서버로부터 응답이 오면 응답을 response라는 변수에 저장

if (response.getStatusCode() == HttpStatus.OK) {

ObjectMapper 사용

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


동작 흐름

  1. 사용자는 'http://localhost:8082/usr/recommended/question' 페이지에서 질문을 입력

  2. 입력된 질문은 GET방식으로 'http://localhost:8082/usr/recommended/ask?question=질문내용' 페이지로 전달

  3. UsrRecommendedController에서 받은 질문은 JSON으로 변환하여 Flask서버에 POST 요청

  4. Flask 서버는 질문을 처리하고 응답을 반환

  5. 반환된 응답은 answer.html 페이지에서 표시



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

0개의 댓글