스프링부트 - 카카오톡 챗봇 연동

SH·2022년 6월 5일
0

한이음 ICT

목록 보기
5/8

카카오톡 빌더인가 뭐시기로 바꾸기 전에는 다이얼로그플로우+웹서버를 바로 카카오톡과 연동 가능하였던 걸로 기억한다(참고: https://ndb796.tistory.com/134)

하지만 카카오톡 서비스가 업데이트 되면서 다이렉트로 카카오톡과 다이얼로그 플로우를 연결하지 못하게 되었다 일단 이 포스팅은 웹서버와 카카오톡을 연결하는 방식에 관한 것이다


연결은 아래 포스팅을 참고해서 따라하면 된다

https://vmpo.tistory.com/94

여기서 주의할 점은 다이얼로그 플로우와 연결하겠다가 카카오톡 api url에 https://웹서버주소/orchid/api/dialogFlowWebHook 를 바로 입력하면 안된다는 것이다 (이러면 웹훅이랑 연결되나봄) https://웹서버주소/그외에필요한리소스명 이렇게 입력해주고 controller에서도 이 주소에 맞게 매핑을 해주어야 한다

KakaoRest.ts

@RestController
@RequestMapping("/")
public class KakaoRest {

    @RequestMapping(method = RequestMethod.POST, headers = {"Accept=application/json"})
    public String callAPI(@RequestBody Map<String, Object> params){

        try{
            ObjectMapper mapper = new ObjectMapper();
            String jsonInString = mapper.writeValueAsString(params);
            int x = 0;
            System.out.println(jsonInString);

            return "정상적으로 작동되었습니다";
        } catch (Exception e) {
            System.out.println("에러 발생 " + e);

            return "에러발생";
        }

    }
}

다음과 같이 작성하여 연결하였다

profile
블로그 정리안하는 J개발자

0개의 댓글