2017-01-28 39 views
1

訪問項目時,我有以下代碼:「錯誤綁定參數0 - 可能是不支持的類型」與瓶

from bottle import response, error, get 
import json 


@get('/db_Data') 
def db_Data(db): 

    db.execute("SELECT id, name, category, location, date, amount FROM inventory") 
    names = db.fetchall() # Use db.fetchone() to get results one by one 
    return json.dumps(names) 

@get('/db_Item') 
def db_Item(db): 
    db.execute("SELECT id, name, category, location, date, amount FROM inventory WHERE id=?", (id,)) 
    names = db.fetchall() 
    return json.dumps(names) 

@error(404) 
def error_404_handler(e): 

    return json.dumps({'Error': {'Message': e.status_line, 'Status': e.status_code}}) 

if __name__ == "__main__": 
    from bottle import install, run 
    from wtplugin import WtDbPlugin, WtCorsPlugin 

    install(WtDbPlugin()) 
    install(WtCorsPlugin()) 
    run(host='localhost', port=8080, reloader=True, debug=True, autojson=False) 

時,我想只得到一個項目(第二路線)我得到:

InterfaceError: Error binding parameter 0 - probably unsupported type. 

第一條路線工作得很好。

回答

1

您在第二個處理程序中沒有任何id值。您需要在路由中捕獲它並將它傳遞給函數:

@get('/db_Item/<id>') 
def db_Item(db, id): 
    ... 
+0

oh:/ ...現在可以工作。 – JDoe

相關問題