1. 300자 제한이 있는 트윗을 올리는 엔드포인트 구현
app.users = {} #사용자 정보 저장
app.tweets = [] #사용자들의 트윗을 저장하는 곳. key=사용자아이디, value=사용자의 트윗을 담은 리스트
@app.route('/tweet', methods = ["GET","POST"])
def tweet() :
payload = request.json # 1
user_id = int(payload['id']) # 2
tweet = payload['tweet'] # 3
if user_id not in app.users : # 4
return '사용자가 존재하지 않습니다', 400
if len(tweet) > 300 : # 5
return '300자를 초과했습니다', 400
user_id = int(payload['id']) # 6
app.tweets.append({
'user_id' : user_id,
'tweet' : tweet
})
return " " , 200
# 1 : 요청된 데이터 저장
# 2 : 1에서 들어간 데이터 중 id 값을 user_id에 저장
# 3 : 1에서 들어간 데이터 중 tweet값을 tweet에 저장
# 4 : app.users에서 사용자아이디(user_id)가 없으면 return 값 표시
# 5 : 트윗 길이가 300자 초과면 return 값 표시
# 6 : app.tweets 리스트에 user_id와 tweet 값 추가
2. HTTP 요청
http -v POST localhost:8080/tweet id:=1 tweet="My first Tweet"
결과
'Python > Flask' 카테고리의 다른 글
[미니터] sqlalchemy를 사용한 API와 DB 연결 (0) | 2022.07.12 |
---|---|
[미니터] 타임라인 (0) | 2022.07.07 |
[미니터] 팔로우와 언팔로우 (0) | 2022.07.07 |
[미니터] 회원가입 엔드포인트 (0) | 2022.07.06 |
[미니터] 객체 생성, 엔드포인트 등록 (0) | 2022.07.05 |