我不熟悉Python和Flask的工程方面,所以我想知道以下内容 - 我有一个Flask应用程序,它接收带有json格式数据的POST请求并将它们应用到预测模型中并获得结果作为json数据。以下是更准确的代码:
from flask import Flask
from flask import request
import io
import json
import pandas as pd
import numpy as np
from fbprophet import Prophet
app = Flask(__name__)
@app.route('/postjson', methods = ['POST'])
def postJsonHandler():
print (request.is_json)
content = request.get_json()
df = pd.io.json.json_normalize(content, 'data')
df.rename(columns={0 : 'ds', 1 : 'y'}, inplace=True)
df['ds'] = pd.to_datetime(df['ds'])
my_model = Prophet(interval_width=0.95, yearly_seasonality=False, daily_seasonality=False, weekly_seasonality=True)
df['y'] = np.log(df['y'])
my_model.fit(df)
future_dates = my_model.make_future_dataframe(periods=30)
forecast = my_model.predict(future_dates)
yhat=forecast.yhat
ser=np.exp(yhat)
df_upd=pd.DataFrame(ser[-30:])
df_upd.reset_index(drop=True, inplace=True)
js=df_upd.to_dict(orient='split')
del js['index']
res=json.dumps(js)
print(res)
return 'JSON posted'
app.run(host='0.0.0.0', port= 8090)
我应该做些什么才能将模型(res)的结果数据发送到Java Server?
答案 0 :(得分:-1)
找到它。
基本上,在这种情况下需要做的是使用Response对象并执行类似的操作将数据发送回服务器:
answer = Response(res, status=200, mimetype='application/json')