공부낙서장/emotional16 [emotional] 예기치 못 한 에러 API Gateway에서 Lambda 엔드포인트를 설정할 때 메서드로 get, any를 처음 설정해뒀길래 any를 삭제했다.그런데 나는 함수를 any에 연결을 해뒀던 것..플리 추천 받으려고 사용했더니 에러가 발생하고 있었다.혼비백산하여 일단 먼저 Lambda에서 테스트를 해주니 상태코드 200으로 잘되었다.그리고 postman으로 되는지 확인했는데 404..네트워크 탭으로도 확인해봤지만 404...급하게 API Gateway에서 확인했는데 엔드포인트에 get으로 분명되어있는데 하고 통합연결을 확인해보니아, 연결이 안되어있다. Lambda와 연결 했던 any를 지워서 발생했던 웃지 못 할 이슈..해결 2024. 8. 25. [emotional] 배포 환경 변경 및 그에 따른 변화 기존 emotional은 OpeanAI와 YouTube API가 클라이언트 단에서 두 API를 호출 하였을 때 네트워크 탭을 확인하면 누구든 손쉽게 API 키값을 확인할 수 있었다.클라이언트 단에서의 API 키 노출 이슈를 방지하기 위해 서버 측에서 API를 실행시켜 클라이언트에 필요한 데이터만 반환하게 하였어야했는데, 나는 딱히 백엔드의 지식이 없었기 때문에 당시에는 Node.js랑 express를 사용해야하나 라고 생각을 하게 되었다.하지만 Next.js에서 next server를 사용하여 서버리스 함수를 만들 수가 있었는데 그게 route handler를 이용한 방법이었다.import { NextRequest } from 'next/server';import OpenAI from 'openai';c.. 2024. 8. 24. [emotional] - Nextjs api route nextjs 공식문서 route handlers를 보면 page 라우터를 사용할 때는 api 폴더 아래에 있어야 api에 접근이 가능했는데app 라우터로 넘어오면서 api dir 아래에 있을 필요는 없다.(app폴더 안에 route.ts로만 작성하면 된다.)하지만 명확하게 구분하기 위해 api dir 아래에 route.ts 파일을 생성했다.그런데 왜 이걸 사용하냐?이모셔널에는 youtube api와 openai api를 사용하는데 서버 없이 클라이언트 단에서 사용되다보니네트워크 탭의 요청 url과 요청 헤더에 api key값이 노출이 되버린다..env를 사용해서 환경변수로 key값을 숨긴 노력이 무용지물이 되어버렸다.이걸 방지하기 위해서 찾다보니 나온게 nextjs 서버를 이용한 api route방식이다.. 2024. 5. 6. [배포] emotional 힘들었다. 아직 배포 전 작업 과정에 대한 글은 안썼지만... 결론만 말하자면 내가 알던 nextjs는 완전 수박 겉 핥기 그 자체였다는거... 노출되던 api key들은 모두 서버에서 처리 중 이다. nextjs만세 https://www.emotional.today/ emotional 자신의 감정을 표현하면 그에 맞는 추천 노래 Playlist를 알려드려요. www.emotional.today 2024. 4. 22. 이전 1 2 3 4 다음