# 타임라인 불러오기
@app.route('/timeline/<int:user_id>', methods=['GET']) # 1
def timeline(user_id): # 2
if user_id not in app.users :
return '사용자가 존재하지 않습니다', 400
follow_list = app.users[user_id].get('follow', set()) # 3
follow_list.add(user_id) # 4
timeline = [tweet for tweet in app.tweets if tweet['user_id'] in follow_list] # 5
return jsonify({ # 6
'user_id' : user_id,
'timeline' : timeline
})
# 1 : <int:user_id> 엔드포인트 주소에 해당 사용자 아이디 지정 가능. # 2의 인자로 들어가게 됨
데이터의 수정없이 불러오는 것이기 때문에 method = GET
# 2 : 엔드포인트 주소를 통해 받은 user_id를 인자로 받음
# 3 : 해당 사용자의 팔로우 리스트를 변수에 저장. 팔로우 필드가 없으면 빈 set을 리턴
# 4 : 팔로우하는 사용자 리스트에 해당 사용자 아이디 추가. 타임라인에서 해당 사용자의 트윗과 팔로우하는 사용자의 트윗을 볼 수 있게함
# 5 : 전체 트윗 중에서 해당 사용자, 해당 사용자가 팔로우 하는 사용자들의 트윗만 저장
# 6 : 사용자의 아이디와 타임라인 리턴
HTTP 요청
http -v GET localhost:8080/timeline/1
타임라인 안에 해당 사용자, 팔로우 한 사용자의 트윗과 사용자 아이디가 잘 들어갔다.
사용자 아이디도 잘 들어갔음
갑분자바개발자
아님니다 저는 파이썬밖에 모름니다.
'Python > Flask' 카테고리의 다른 글
[미니터] DB 연결 - 회원가입 (0) | 2022.07.12 |
---|---|
[미니터] sqlalchemy를 사용한 API와 DB 연결 (0) | 2022.07.12 |
[미니터] 팔로우와 언팔로우 (0) | 2022.07.07 |
[미니터] 트윗올리기 (0) | 2022.07.06 |
[미니터] 회원가입 엔드포인트 (0) | 2022.07.06 |