上次我们测试Flask API已经成功了,
但里面的参数例如时间等都是直接写死在程序码里,
但正常来说这些变数都应该会随着使用者的输入而变动,
所以今天就是要来示范这个部分。
首先Flask API要取得request的值有好几种方式,
以下常用的有两种,一个是取得URL後的参数,
一个是取得JSON的值,
取得URL後的参数 = request.args.get('参数名称')
取得JSON的值 = request.get_json()
今天就用ticks API作为范例来示范,
(1)汇入所需要的库,要取得request要import相关的库
import flask
from flask import jsonify, request
import shioaji as sj
from shioaji.data import Ticks
import json5
(2)撰写ticks API,
date_temp = request.args.get('tickdate')
这段就是要取得URL後的tickdate参数,
也就是使用者可操控的部分,
再把取回的date_temp塞回ticks API里date的参数,
date=date_temp
这样就可以做到使用者输入时间,API会跟着变动资料。
@app.route('/testdata', methods=['GET'])
def test_tick():
api = sj.Shioaji(simulation=True)
api.login(
person_id="PAPIUSER01",
passwd="2222",
contracts_cb=lambda security_type: print(f"{repr(security_type)} fetch done.")
)
date_temp = request.args.get('tickdate')
tick = api.ticks(
contract=api.Contracts.Stocks["2330"],
date=date_temp,
query_type=sj.constant.TicksQueryType.LastCount,
last_cnt=5
)
return json5.dumps(tick['close'])
示意图如下
这样就是对API进行最基础的操作了~
用文本的方式打开文件,就可以看到版本了: FBXHeaderExtension: { FBXHead...
简介厨房:Shioaji Shioaji是永丰证开发出来的Python API,用来给客户自行开发自...
Odoo.sh是Odoo提供的付费平台,只要有DB与程序码就会帮你建立Server,也因为是由Odo...
之前因为可能因为需要使用收集的资料作分析,所以做了一个使用 Django来生成excel档案的功能,...
MySQL or MariaDB CentOS 的 rpm 套件管理器预设没有 MySQL repo...