250x250
반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 상관관계
- GenericGBQException
- 유튜브 API
- login crawling
- top_k
- Retry
- chatGPT
- subdag
- youtube data
- session 유지
- Airflow
- API Gateway
- UDF
- XAI
- Counterfactual Explanations
- requests
- API
- spark udf
- TensorFlow
- 공분산
- grad-cam
- correlation
- gather_nd
- airflow subdag
- tensorflow text
- BigQuery
- integrated gradient
- GCP
- hadoop
- flask
Archives
- Today
- Total
데이터과학 삼학년
RESTful API 파이썬 구축 예시 (feat. Flask) 본문
반응형
파이썬으로 개발 가능한 웹프레임워크는 대표적으로 flask, django가 아닐까 싶다.
flask를 이용하여 간단한 RESTful API 를 구축한 코드를 공유한다.
from flask import Flask, jsonify, request
app = Flask(__name__)
# 임시 데이터베이스
books = [
{"id": 1, "title": "Harry Potter and the Philosopher's Stone", "author": "J.K. Rowling"},
{"id": 2, "title": "The Hobbit", "author": "J.R.R. Tolkien"},
{"id": 3, "title": "To Kill a Mockingbird", "author": "Harper Lee"}
]
# 모든 책 목록을 반환하는 API 엔드포인트
@app.route('/books', methods=['GET'])
def get_books():
return jsonify({'books': books})
# 특정 책을 반환하는 API 엔드포인트
@app.route('/books/<int:id>', methods=['GET'])
def get_book(id):
book = next((book for book in books if book['id'] == id), None)
if book:
return jsonify(book)
return jsonify({'message': 'Book not found'}), 404
# 새 책을 추가하는 API 엔드포인트
@app.route('/books', methods=['POST'])
def add_book():
new_book = {'id': len(books) + 1, 'title': request.json['title'], 'author': request.json['author']}
books.append(new_book)
return jsonify({'message': 'Book added successfully', 'book': new_book}), 201
if __name__ == '__main__':
app.run(debug=True)
위 코드는 /books 엔드포인트에서 모든 책 목록을 가져오고,
/books/<int:id> 엔드포인트에서 특정 책을 가져오고,
/books 엔드포인트에서 새 책을 추가하는 RESTful API
728x90
반응형
LIST
'Computer Science' 카테고리의 다른 글
[용어] SPOF (Single Point Of Failure) (0) | 2023.07.26 |
---|---|
git flow 전략 (1) | 2023.06.07 |
API Gateway (0) | 2023.03.17 |
[git] git clone 현재폴더(특정폴더) 에 복사하기 (0) | 2020.08.26 |
아스키코드? 유니코드가 뭐지? (0) | 2020.07.31 |
Comments