본문 바로가기

Restful API29

[Restful API] Chat GPT API(gpt-3.5-turbo) 사용하기 📝Chat GPT API 사용하기 요즘 유명한 챗 지피티 API를 사용해보려한다 우선 공식 홈페이지(https://openai.com/)에 접속하여 로그인한다 Product > OverView 클릭하고 해당 페이지로 가서 Get started 버튼 클릭 Chat을 클릭해서 이용하는 방법과 예시 코드를 확인 사용법을 확인했다면 key를 발급 받습니다 우측 상단에 Personal 클릭, View API Keys를 클릭하여 해당 페이지로 이동 후 Create new secret key를 클릭하여 secret key를 발급 받아주고 이를 내 로컬에 저장 저장했다면 이제 공식문서를 확인하고 API를 호출해 사용해준다 위의 공식문서에 있는 파이썬 코드를 가져왔다(주석을 달아놨으니 참고) 아래 코드는 요청으로부터 사.. 2023. 4. 3.
[Restful API] CLOVA Summary를 이용한 리뷰 요약 API 만들기 📝클로바 Summary를 이용한 리뷰 요약 API 만들기 CLOVA Summary ? 문서를 요약하고 핵심 문장을 추출해 주는 서비스 (https://www.ncloud.com/product/aiService/clovaSummary) 네이버 문서요약 API를 활용해 작성한 리뷰들을 요약해주는 API를 만들어보았다 우선 네이버 클라우드 플랫폼 ncloud.com 접속 후 로그인하여 (https://www.ncloud.com/) 우측 상단 콘솔(Console) 접속 하여 AI·NAVER API 검색 후 이동 결제수단을 등록하지 않은 경우 먼저 등록처리 Application 등록시 CLOVA Summary 서비스를 활성화시켜 생성 생성한 앱을 클릭하여 인증정보를 확인 Client ID (X-NCP-APIGW-.. 2023. 4. 3.
[Error] TypeError: post() got an unexpected keyword argument 📝TypeError: post() got an unexpected keyword argument 에러 해결하기 Visual Studio Code에서 유저가 친구를 추가하는 코드를 작성하는데 TypeError: post() got an unexpected keyword argument 'followeeId' 라는 에러가 발생했다 해당 에러는 app.py 파일에 경로를 아래 코드처럼 연결했는데 api.add_resource(FollowResource, '/follow/') 해당 클래스에 def post(self)로 followeeId를 입력하지 않고 코드를 입력해서 발생한 에러이다 아래코드로 수정해주었다 class FollowResource(Resource) : @jwt_required() def post(.. 2023. 1. 17.
[Restful API] 이미지와 텍스트 포스팅하면 태그 가져오는 API만들기 📝이미지와 텍스트 포스팅하면 태그 가져오는 API만들기 순서 1. 클라이언트가 보낸 데이터 받아오기 2. 사진을 S3에 저장한다 - AWS콘솔로 가서 IAM 유저 만들고 S3로 가서 이 프로젝트의 버킷을 만들고 config.py에 입력해준다 - 날짜와 유저 아이디를 이용해 파일명을 유니크하게 만든다 - S3에 파일 업로드 한다(boto3 라이브러리 사용한다 설치 안되어있으면 pip install boto3로 설치) 3. S3에 저장된 사진을 Object Detectin(AWS Rekognition 이용) - for루프로 Labels 안에 있는 Name만 가져온다 4. 위에서 가져온 imgURL과 태그로 저장할 Labels 이름을 DB에 저장한다(tag_name 과 tag 테이블에 인서트) - tag_li.. 2023. 1. 16.
[Restful API] 서버 개발 총 정리 📝서버 개발하기 총 정리 기획(화면기획서) > DB테이블설계 > API개발(서버개발) 1. MySQL Workbench 접속 해당 서비스용으로 계정을 만들기 위해 어드민 계정으로 접속해서 DB와 유저를 만든다 ※ DB는 utf8 / utf8_unicode_ci로 만든다 use mysql; create user '유저네임'@'%'identified by '비밀번호'; grant all on DB이름.* to '유저네임'@'%'; 홈으로 돌아가 만든 DB와 유저를 입력해 새로운 커넥션 만들고 화면기획서에 맞게 테이블 생성한다 ※ 테이블에 컬럼을 만들때 안드로이드 개발과의 일관성 위해 컬럼은 헝가리안 표기법 사용한다 헝가리안 표기법? 한칸 띄우거나 _ 쓰지않고 대문자 사용 ex) createdAt 2. Git.. 2023. 1. 16.
[Restful API] 네이버 Open API 사용해보기 📝네이버의 Open API 사용해보기 네이버 오픈 API 목록을 보고 사용할 API를 찾으면 된다(https://developers.naver.com/products/intro/plan/plan.md) 우선 네이버의 뉴스검색 API와 파파고(Papago) API를 사용해보겠다 사용하기 전 먼저 네이버 개발자 센터에서 애플리케이션을 등록하고 클라이언트 아이디와 클라이언트 시크릿을 발급받아야한다 ※ 발급 받은 아이디와 클라이언트 시크릿은 컨픽 파일에 저장해 사용하기 해당 API 페이지에 들어가 HTTP 메서드를 확인하여 포스트맨에 경로를 셋팅해주고 Visual Studio Code에 들어가 작업해줬다 값은 사용할 API의 홈페이지의 요청 URL, 파라미터, 참고 사항, 요청 예, 응답, 오류 코드 등 확인해.. 2023. 1. 13.
[Restful API] 이미지와 텍스트 포스팅하는 API만들기 📝이미지와 텍스트를 포스팅하는 API만들기 우선 포스트맨을 포스트로 셋팅하고 Body에 form-data로 키값을 사진을 올릴 수 있는 파일 타입, 글을 올릴 수 있는 텍스트타입으로 하나씩 만들어줬다 Visual Studio Code를 실행해 코드를 작성해준다 사진을 S3에 업로드하고 업로드한 사진의 Url을 가져와 입력한 내용과 함께 DB에 저장해줬다 class PostingResource(Resource) : def post(slef) : # 1. 클라이언트로부터 데이터를 받아온다 # from=data # photo : file # content : text # 사진과 내용은 필수항목이다 세이프코딩 if 'photo' not in request.files or 'content' not in reque.. 2023. 1. 13.
[Restful API] S3에 저장한 이미지를 객체 탐지하는 API만들기(Rekognition) 📝S3에 저장한 이미지를 객체 탐지하는 API만들기 Amazon Rekognition을 사용하여 Object Detection 결과를 응답하는 API를 만들어 보겠다 우선 포스트맨에서 경로를 설정해주고 ex) http://localhost:5000/object_detection GET으로 Params에 키값을 입력하고 밸류에 S3에 저장한 파일명을 입력해준다 Visual Studio Code를 실행해 코드를 작성해준다 ※ rekognition을 사용하기 위해서 IAM에서 AmazonRekognitionFullAccess 권한 추가 from flask import request from flask_jwt_extended import get_jwt_identity, jwt_required from flask.. 2023. 1. 12.
[Restful API] 이미지 S3에 업로드하는 API 만들기 📝이미지를 S3에 업로드하는 API 만들기 우선 포스트맨에서 경로를 설정해주고 ex) http://localhost:5000/upload Body에 form-data로 키값을 입력하고 텍스트가 아닌 파일로 지정해서 밸류값에 이미지를 업로드 해줬다 Visual Studio Code를 실행해 코드를 작성해준다 from flask import request from flask_restful import Resource from mysql.connector import Error from datetime import datetime import boto3 from config import Config class FileUpLoadResource(Resource) : def post(self) : # 클라이언트로.. 2023. 1. 12.
[Restful API] Query String 검색하는 API 만들기 📝Query String 검색하는 API 만들기 포스트맨에서 Query String할 키와 밸류값을 Query Params에 입력한다 (http://localhost:5000/movie/search?keyword=The&offset=0&limit=25) 검색할 값(keyword)과 페이징할 값(offset, limit)을 입력해줬다 코드를 작성할때 클라이언트에서 쿼리스트링으로 보내는 데이터는 request.args에 들어있다 변수로 저장해서 쿼리문에 사용하기 ※ 주의할점 MySQL Workbench 쿼리문 작성할때 컬럼은 n이다에만 %s 사용하고 그외는 변수를 더해준다 class MovieSearchResource(Resource) : def get(self) : keyword = request.args.. 2023. 1. 10.