Back to questions
Рунити
Junior — Middle
70
Какие подходы и принципы используешь при разработке API-интерфейсов?
Companies where asked
Answer from AI
sobes.tech AI
При разработке API-интерфейсов я придерживаюсь следующих принципов:
- RESTful подход: использование стандартных HTTP-методов (GET, POST, PUT, DELETE) и четкая структура URL.
- Идемпотентность и безопасность: методы, которые не должны изменять состояние, делают только чтение (GET), а изменяющие — корректно обрабатывают повторные запросы.
- Четкая документация: использование OpenAPI/Swagger для описания интерфейсов.
- Обработка ошибок: возвращение понятных и стандартизированных кодов ошибок и сообщений.
- Версионирование API: чтобы не ломать клиентов при обновлениях.
- Аутентификация и авторизация: например, через OAuth или JWT.
Пример простого Flask API:
from flask import Flask, jsonify, request
app = Flask(__name__)
items = {1: 'item1', 2: 'item2'}
@app.route('/items/<int:item_id>', methods=['GET'])
def get_item(item_id):
item = items.get(item_id)
if item:
return jsonify({'id': item_id, 'name': item}), 200
else:
return jsonify({'error': 'Item not found'}), 404
if __name__ == '__main__':
app.run()