在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python  HTML/ 如何使用flask制作一個包含各種函數(shù)的且可供第三方調(diào)用的webservice?

如何使用flask制作一個包含各種函數(shù)的且可供第三方調(diào)用的webservice?

本人FLASK新手菜鳥一枚,現(xiàn)在想用FLASK將一系列的函數(shù)做到一個webservice里,這個webservice可以被第三方用Java調(diào)用(暫時不需要寫界面,只需要提供函數(shù)接口)。最近看了一些FLASK的東西,還是有不少疑問,一下面這個小項目為例:

使用VS2015新建FLASK項目,在views.py文件里,寫上我需要封裝的函數(shù),函數(shù)功能就是傳遞一個字符串類型的名字,返回“hello 名字”:

"""
Routes and views for the flask application.
"""

from datetime import datetime
from flask import render_template
from flask import Flask
from FlaskWebProject1 import app

app = Flask(__name__)

@app.route('/')
@app.route('/greeting',methods = ["GET"])
def greeting(name):
    return ("hello"+name)

if __name__ == '__main__':
    app.run(debug=True)

如果我想封裝這個greeting()函數(shù),是應(yīng)該寫成上面那樣嗎?為了能使包含該函數(shù)的webservice能被第三方用Java調(diào)用,我還需要做哪些工作?如何判斷該webservice制作成功?謝謝大神的關(guān)注。

回答
編輯回答
祉小皓
# 感覺并沒有g(shù)et到樓主真想問的點
# 如果只是一個web程序,提供api的話
# 請參考官方文檔就可以了:http://docs.jinkan.org/docs/flask/quickstart.html#a-minimal-application

# 如果是想問下上面代碼的問題的話,倒是可以簡單說明下。
# 1. '/'和'/greeting'這是兩個不同的路由,建議去裝飾兩個不同的方法
# 例:
# ===============
# @app.route('/')
# def index():
#   pass
# ===============
# @app.route('/greeting',methods = ["GET"])
# def greeting():
#   pass
# ===============
@app.route('/')
@app.route('/greeting',methods = ["GET"])
# 這個地方的name參數(shù)不該是這樣使用的。
# ===============
# 方式一:
# 這種方式下,用戶需要輸入的url應(yīng)該是 /greeting/tom 這種
# 然后參數(shù)中下面的name會自動賦值為 'tom',方法中操作就可以了
# @app.route('/greeting/<name>',methods = ["GET"])
# def greeting(name):
# ===============
# 方式二:
# 從url中的param中獲取,如 /greeting?name=tom
# @app.route('/greeting',methods = ["GET"])
# def greeting():
#   name = flask.request.args.get(name)
# ===============
def greeting(name):
    return ("hello"+name)
    
# 至于是否成功了,在瀏覽器上調(diào)用下相關(guān)api看下就可以了
# 然后在java那邊隨便找個 http 類,去調(diào)用下就可以了
2017年12月25日 21:10