본문 바로가기
Python

python - flask API Type Error

by le_piee 2020. 11. 1.

 

이러한 에러가 발생하셨을 때 해결 방안입니다.

 

 

 

리턴하는 부분에서 타입에러가 발생한 것인데요.

리턴하기 전 JSON 형식으로 타입변환을 해준 후 리턴해야 합니다.

 

 

#리턴값 변환 함수
def as_json(f):
    @wraps(f)
    def decorated_function(*args, **kwargs):
        res = f(*args, **kwargs)
        res = json.dumps(res, ensure_ascii=False).encode('utf8')
        return Response(res, content_type='application/json; charset=utf-8')

    return decorated_function

이러한 함수를 작성 후

 

@app.route('/getPopularlists', methods=['GET'])
@as_json
def popularlist():
    NAVER_BEST100 = 'https://search.shopping.naver.com/best100v2/main.nhn'
    popular10lists =[]

    source = requests.get(NAVER_BEST100).text
    soup = BeautifulSoup(source,"html.parser")
    popular10 = soup.find(id="popular_srch_lst")
    popular10names = popular10.select(".txt")
    for name in popular10names:
        popular10lists.append({"name" : name.text})
        
    return popular10lists

이렇게 함수 위에 넣어주면 끝입니다.