오도원입니다.

건강과 행복을 위하여

PNU DSC/Solution Challenge

Flask 17. CRUD

오도원공육사 2020. 3. 23. 16:55
반응형

Read => GET

Update => PUT

Delete => DELETE

 

@api.route('/users/<uid>', methods=['GET', 'PUT', 'DELETE'])
def user_detail(uid): 
	if request.method == 'GET': # GET은 조회(read)
    	user = Fcuser.query.filter(Fcuser.id == uid).first() # first로 하나만 뽑아낸다.
        return jsonify(user.serialize) # user는 객체이므로 serialize하게 만들어야한다.
    
    elif request.method == 'DELETE' : # DELETE는 삭제(delete)
    	Fcuser.query.delete(Fcuser.id == uid)
        return jsonify(), 204
    
    # PUT은 수정(update)
    # json데이터는 request.form이 아닌 request.get_json()을 통해 얻을 수 있다.
    updated_data = request.get_json()
    
    # PUT요청은 수정이 돼야하기 때문에 filter를 해야한다.
    Fcuser.query.filter(Fcuser.id == uid).update(updated_data)
    user = Fcuser.query.filter(Fcuser.id == uid).first()
    return jsonify(user.serialize)
    	

url에 uid가 user_datail(uid) 함수의 인자값으로 들어간다.

 

반응형

'PNU DSC > Solution Challenge' 카테고리의 다른 글

Flask 18. jQuery와 ajax  (0) 2020.03.24
Flask 16. 회원생성 API 만들기  (0) 2020.03.16
Flask 15. HTTP와 RESTful API  (0) 2020.03.11
Flask 14. 백엔드와 프론트엔드  (0) 2020.03.11
Flask 12. 로그아웃  (0) 2020.03.11