업로드한 셀피(이미지)로 작업한 gif 결과물을 특정(확인)하기 위한 api
전체 설계
작업 순서 (의사 코드)
사용자가 입력한 이미지의 아이디를 recent_selfie_id 변수로 선언 (이때 오브젝트 ID값은 str로 스트링값으로 변환 해주어야함)
이후 api내에서 변수로 선언한 recent_selfie_id를 활용하기위해 글로벌 전역번수로 선언
db.findone(조건)['필드'] 를 통해 gif 테이블의 selfie_id 값을 gif_selfi_id 변수로 선언 (100% 이해가 안되는 부분)_
gif_selfi_id 와 recent_selfie_id가 같다면 gif테이블의 name_gif를 반환하여 리턴값에 저장
클라이언트가 없는 상황에서 백엔드를 먼저 개발했기에
포스트맨을 활용하여 gif값이 찍히는지 확인
recent_selfie_id = str(db.selfie.find_one()['_id'])
@app.route('/loadimage', methods=['GET'])
def load_image():
global recent_selfie_id
gif_selfie_id = db.gif.find_one(
{'selfie_id': recent_selfie_id})['selfie_id']
if gif_selfie_id == recent_selfie_id:
find_gif = db.gif.find_one()['name_gif']
return find_gif
포스트맨 결과
gif name을 잘 특정하고있음
request, progress, response
request (사용자 요청)
모든 것은 서버에 저장되어있기에, 사용자에게 요청받을 값은 없다
Progress (처리)
이미지 참조
Response (데이터 리턴)
조회한 데이터의 gif 이름을 변수로 선언하여 돌려줌
오브젝트 ID는 오브젝트 값이기때문에 str로 변환하여 사용할 필요가있음
밖에서 선언된 변수는 함수 내에서 사용하고 싶을 시 global 전역변수로 설정하여 사용해야함
의사코드를 작성하며 코딩하는 습관을 들여야 함
배운건 까먹지 않기위해 꼭 벨로그에 작성해두어야함
디버깅 할때 번역기도 좋지만 구글에 직접 에러코드 넣어보기
아프다... 몸에서 사리가 나올것같다
온몸에 독이 퍼지는 느낌;
완벽한 이해가 될랑 말랑 아리송한 느낌...
그래도 팀장님과 팀원분들이 물심양면 모든걸 다해 도와주시고 있으니
어떻게든 이악물고 이해하려 노력하자