一.创建 api 有五个步骤
1. 规划: 我们要为 api设计提供蓝图。最好提前考虑不同的使用场景,并取保 api 符合现有的 api 开发标准。
2. 构建:我们要根据自己的实际需求进行 api 原型设计。
3. 测试:这个地方类似与软件测试,以防止错误和缺陷。
4. 编写:我们主要主要是编写 api 的说明指南文档。编写 api 提供的一系列功能和使用场景,在面相服务的架构中受欢迎。
5. 商用:在软件商店售卖 api,以获得利润。
二.构建 以 java 为基础的api最佳实践。
首先我们要安装 flash(代码pip install flash)
这里我们导入 request 和 get,post 包。在这个基础之上进行开发
1.接受请求的数据,flash 是通过 request 来接受请求的数据的,http 的请求通常有 get 和 post 方式。
from flask import Flask from flask import request import json import traceback
app = Flask(name)
@app.route('/hello') def hello(): return 'hello world'
@app.route('/v1/task', methods=['GET', 'POST']) def do_task(): try: print(request.method) if request.method == "GET": content = request.args.get("content") # comment = request.values.get("content") res = int(content) + 10 print(res, type(content)) elif request.method == "POST": print("========", request.headers) content_type = request.headers.get('Content-Type') if "multipart/form-data" in content_type: form_data = dict(request.form) # files_data = dict(request.files) # print(form_data)
res = int(form_data.get('content')) + 14
elif "application/json" in content_type:
# request.get_data() # 原始的数据
input_dict = request.get_json()
res = input_dict.get('content') + 12
elif "application/x-www-form-urlencoded" in content_type:
input_dict = request.form
# request.values.get("content")
else:
print(request.get_data())
print('url: %s , script_root: %s , path: %s , base_url: %s , url_root : %s' % (
request.url, request.script_root, request.path, request.base_url, request.url_root))
return json.dumps({"code": 0, "msg":"success", "data": res})
except:
err_msg = 'url: %s, err_msg: %s' % (request.url, (str(traceback.format_exc())))
print(err_msg)
return json.dumps({"code": -1, "msg":"failed", "data": 0})
if name == 'main': app.run("0.0.0.0", debug=True, port=6006)
最终,经过几篇文章。我们可以得知,api 的构建在于自己定义一套请求数据和接受请求数据的一系列属于自己特定业务逻辑的方法。 但现在已经构建好的 api 可以满足大部分公司对性能的要求。但比如像字节跳动这样的公司,要对性能进行进一步的优化,构建属于自己的api 以用来提升性能和压缩成本是非常有利的。