Add API documentation for get car events on x way

This commit is contained in:
David Eder 2021-06-17 09:49:30 +02:00
parent 4d30f79900
commit 4a38a3a4a7
3 changed files with 27 additions and 13 deletions

View File

@ -18,7 +18,7 @@ export class RestService {
} }
getCarEvents(vin) { getCarEvents(vin) {
return this.http.get(this.currentLocation + 'car_events?vin=' + vin, {observe: 'response'}); return this.http.get(this.currentLocation + 'car_events/?vin=' + vin, {observe: 'response'});
} }
getTrafficLights() { getTrafficLights() {

View File

@ -2,4 +2,5 @@ flask
Flask-Cors Flask-Cors
requests requests
Flask-PyMongo Flask-PyMongo
jsonify jsonify
flask_restx

View File

@ -1,30 +1,43 @@
import flask
import flask_restx
import requests import requests
from bson import json_util from bson import json_util
from flask import Flask from flask import Flask, jsonify
from flask_cors import CORS from flask_cors import CORS
from flask import request from flask import request
import json; import json;
app = Flask(__name__) app = Flask(__name__)
CORS(app) CORS(app)
api_bp = flask.Blueprint("api", __name__, url_prefix="/api/v1/resources")
API = flask_restx.Api(api_bp)
app.register_blueprint(api_bp)
NAMESPACE = API.namespace("car_events")
ENTITY_IDENT_URL = 'http://entityident:5002/api/v1/resources/' ENTITY_IDENT_URL = 'http://entityident:5002/api/v1/resources/'
EVENT_STORE_URL = 'http://eventstore:5001/api/keys/' EVENT_STORE_URL = 'http://eventstore:5001/api/keys/'
@app.route('/api/v1/resources/car_events', methods=['GET']) @NAMESPACE.route('/')
def get_cars_events(): class CarsEvents(flask_restx.Resource):
vin = request.args.get('vin') @NAMESPACE.doc(params={'vin': {'description': 'Vehicle Identifier Number of car',
'type': 'String', 'default': '5GZCZ43D13S812715'}})
def get(self):
vin = request.args.get('vin')
try: try:
response = requests.get(EVENT_STORE_URL + 'DAF:' + vin + '/0/') response = requests.get(EVENT_STORE_URL + 'DAF:' + vin + '/0/')
cars = json.loads(response.text) cars = json.loads(response.text)
except requests.exceptions.ConnectionError as e: except requests.exceptions.ConnectionError as e:
print("Is the EVENT_STORE_URL running and reachable?") print("Is the EVENT_STORE_URL running and reachable?")
raise e raise e
return json_util.dumps(cars) return jsonify(cars)
@app.route('/api/v1/resources/traffic_light_events', methods=['GET']) @app.route('/api/v1/resources/traffic_light_events', methods=['GET'])