Get routes working
This commit is contained in:
parent
4b541b62f0
commit
b069331a1e
@ -2,7 +2,12 @@ from flask import current_app
|
|||||||
from flask_restx import Api, fields, apidoc, Model, Namespace, Resource
|
from flask_restx import Api, fields, apidoc, Model, Namespace, Resource
|
||||||
from flask_restx.reqparse import RequestParser
|
from flask_restx.reqparse import RequestParser
|
||||||
from app.mre_module import compute_mre
|
from app.mre_module import compute_mre
|
||||||
from . import namespace
|
|
||||||
|
namespace = Namespace(
|
||||||
|
'mre',
|
||||||
|
description='API endpoints for MRE calculations.'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
MRE_request_parser = RequestParser()
|
MRE_request_parser = RequestParser()
|
||||||
MRE_request_parser.add_argument('consumer_fico',
|
MRE_request_parser.add_argument('consumer_fico',
|
||||||
@ -18,7 +23,7 @@ MRE_request_parser.add_argument('down_payment',
|
|||||||
type=float,
|
type=float,
|
||||||
help='The down payment (as a percentage) for purchasing the home (float between [0, 1]).')
|
help='The down payment (as a percentage) for purchasing the home (float between [0, 1]).')
|
||||||
|
|
||||||
@namespace.route('compute_mre_from_home_price')
|
@namespace.route('/compute_mre')
|
||||||
@namespace.doc(params={
|
@namespace.doc(params={
|
||||||
'consumer_fico': 'The consumer\'s fico score (int).',
|
'consumer_fico': 'The consumer\'s fico score (int).',
|
||||||
'home_price': 'The price of the home (float).',
|
'home_price': 'The price of the home (float).',
|
||||||
@ -1,6 +0,0 @@
|
|||||||
from flask_restx import Namespace
|
|
||||||
|
|
||||||
namespace = Namespace(
|
|
||||||
'mre',
|
|
||||||
description='API endpoints for MRE calculations.'
|
|
||||||
)
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
from flask import Flask, g, request
|
from flask import Flask, g, request, url_for
|
||||||
import time
|
import time
|
||||||
import os
|
import os
|
||||||
from app.MRE import blueprint as mre_blueprint
|
from app.MRE import blueprint as mre_blueprint
|
||||||
@ -45,4 +45,19 @@ def create_app(app_name: str='MRE') -> Flask:
|
|||||||
app.logger.info(f'HTTP request completed (method={request.method}, path={request.path}, request_time={request_time}, status_code={response.status_code}).')
|
app.logger.info(f'HTTP request completed (method={request.method}, path={request.path}, request_time={request_time}, status_code={response.status_code}).')
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
def has_no_empty_params(rule):
|
||||||
|
defaults = rule.defaults if rule.defaults is not None else ()
|
||||||
|
arguments = rule.arguments if rule.arguments is not None else ()
|
||||||
|
return len(defaults) >= len(arguments)
|
||||||
|
|
||||||
|
@app.route('/ping')
|
||||||
|
def ping():
|
||||||
|
links = []
|
||||||
|
for rule in app.url_map.iter_rules():
|
||||||
|
if "GET" in rule.methods and has_no_empty_params(rule):
|
||||||
|
url = url_for(rule.endpoint, **(rule.defaults or {}))
|
||||||
|
links.append(url)
|
||||||
|
app.logger.info(f'Endpoint: {url}')
|
||||||
|
return {'links': links}, 200
|
||||||
|
|
||||||
return app
|
return app
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user