spring

    [Spring] 스프링 부트에서 Chat GPT API 사용해보기

    OPEN AI에서 지원하는 Chat GPT의 API를 사용해서 프롬프트에 대해 응답을 받는 경험을 공유하고자 쓰는 글입니다. 준비 사항 저는 아래의 라이브러리를 사용했습니다. https://github.com/TheoKanning/openai-java GitHub - TheoKanning/openai-java: OpenAI GPT-3 Api Client in Java OpenAI GPT-3 Api Client in Java. Contribute to TheoKanning/openai-java development by creating an account on GitHub. github.com 그리고, 프로젝트에서는 gradle을 사용하기 때문에 아래 의존성을 추가해줍니다. implementation '..

    [Spring Security] CORS 문제 해결하기

    리액트에서 서버로 요청을 보내는데 악명 높은 CORS 문제를 만났다. CORS란? 한 웹 어플리케이션이 다른 포트에 있는 자원에 접근하고자 할때, 접근 권한을 주어야한다. 예를 들어, React의 http://localhost:3000 에서 Spring의 http://localhost:8080으로 데이터를 보내거나 받고 싶은 경우, CORS 접근 권한이 필요한 것이다. 이는 브라우저에 구현되어 있기 때문에 Postman과 같은 툴을 이용해 API를 보내면 발생하지 않는다. 마주한 오류는 아래와 같다. Access to fetch at 'http://localhost:8080/login' from origin 'API 호출한 IP' has been blocked by CORS policy: Response..

    [Spring] Spring이란?

    Spring이란? 스프링이라고 하는 것은 프레임워크 하나를 지칭하는 것일 수도 있지만, 스프링 하위 프레임워크를 포함한 집합체를 의미하기도 한다. 대표적으로, 스프링 프레임워크 스프링 부트(스프링 프레임워크의 모든 기술들을 편리하게 사용할 수 있도록 도와준다.) 스프링 데이터 (CRUD를 편리하게 사용할 수 있도록 도와준다.) 스프링 시큐리티 (보안 관련 기능을 편리하게 사용할 수 있도록 도와준다.) 스프링 세션(세션 기능을 편리하게 사용할 수 있도록 도와준다.) 스프링 Rest Docs (API 문서를 편리하게 사용할 수 있도록 도와준다.) 스프링 배치 (배치 처리에 특화되어 있다.) 그중 핵심은 스프링 프레임 워크이며, 그 외의 기술들은 스프링 프레임워크를 편리하게 사용하도록 도와주는 기술들이라고 할..