[4주차 - Day5] 과제
2023. 4. 19. 23:55ㆍBOOTCAMP/프로그래머스 인공지능 데브코스
Mission 1. My New Assistant
한국형 자비스, 빅수비를 만들어보자.
Python Flask 프레임워크를 이용하여 구현
from flask import Flask, jsonify, request
from typing import List, Dict
app = Flask(__name__)
weapons: List[Dict] = []
@app.route('/weapon', methods=['POST'])
def create_weapon():
data = request.json
weapon = {
'id': str(len(weapons) + 1),
'name': data['name'],
'stock': data['stock']
}
weapons.append(weapon)
return jsonify(weapon), 201
@app.route('/weapon', methods=['GET'])
def get_weapons():
return jsonify({'weapons': weapons})
@app.route('/weapon/<weapon_id>', methods=['GET'])
def get_weapon(weapon_id):
weapon = next((w for w in weapons if w['id'] == weapon_id), None)
if weapon:
return jsonify(weapon)
else:
return jsonify({'message': 'Weapon not found'}), 404
@app.route('/weapon/<weapon_id>', methods=['PUT'])
def update_weapon(weapon_id):
data = request.json
weapon = next((w for w in weapons if w['id'] == weapon_id), None)
if weapon:
weapon['name'] = data.get('name', weapon['name'])
weapon['stock'] = data.get('stock', weapon['stock'])
return jsonify(weapon)
else:
return jsonify({'message': 'Weapon not found'}), 404
@app.route('/weapon/<weapon_id>', methods=['DELETE'])
def delete_weapon(weapon_id):
global weapons
weapons = [w for w in weapons if w['id'] != weapon_id]
return '', 204
if __name__ == '__main__':
app.run(debug=True)
'BOOTCAMP > 프로그래머스 인공지능 데브코스' 카테고리의 다른 글
[5주차 - Day3] Django로 동적 웹 페이지 만들기 (0) | 2023.05.11 |
---|---|
[5주차 - Day2] Web Application with Django (0) | 2023.04.20 |
[4주차 - Day4] EDA Project 과제 (0) | 2023.04.08 |
[4주차 - Day3] 탐색적 데이터 분석 - EDA (0) | 2023.04.06 |
[4주차 - Day2] 클라우드를 활용한 머신러닝 모델 (0) | 2023.04.06 |