Files
pygreeting/app.py
Fabio Scotto di Santolo 11afc7a4ac import code
2025-06-10 21:42:42 +02:00

69 lines
1.5 KiB
Python
Executable File

from flask import Flask, jsonify, request, Blueprint
from flasgger import Swagger
import logging
app = Flask(__name__)
swagger = Swagger(app)
# Configura il logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
# Crea un blueprint per l'API v1
api_v1 = Blueprint('api_v1', __name__)
@api_v1.route('/greet', methods=['GET'])
def greet():
"""
Greet a user by name.
---
tags:
- Greeting
parameters:
- name: name
in: query
type: string
required: false
default: World
description: The name to greet.
responses:
200:
description: A greeting message
schema:
type: object
properties:
message:
type: string
example: Hello, World!
"""
name = request.args.get('name', 'World')
message = f'Hello, {name}!'
logger.info(f"[v1] Greeting requested for name: {name}")
return jsonify({'message': message})
# Aggiungi endpoint di health check
@app.route('/health', methods=['GET'])
def health_check():
"""
Health check endpoint.
---
tags:
- Health
responses:
200:
description: Service is healthy
schema:
type: object
properties:
status:
type: string
example: OK
"""
return jsonify({'status': 'OK'}), 200
# Registra il blueprint sotto /api/v1
app.register_blueprint(api_v1, url_prefix='/api/v1')
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)