如何使用Python在RESTful API中将url参数作为变量传递

如何使用Python在RESTful API中将url参数作为变量传递,python,json,rest,web,server,Python,Json,Rest,Web,Server,我编写了后端代码,用于从现有API检索信息,该API传入三个输入(attribute1、attribute2和API_key)以返回JSON文档 现在,我尝试使用web.py模块使用Python连接到端口8080上的服务器。我正在设计一个RESTful API,我希望将用户键入的参数输入到URL中,并将这些参数作为参数传递到上述函数中以返回JSON文档 这是我的简单web服务器代码 import web import existing_api attribute1 = ' ' attribut

我编写了后端代码,用于从现有API检索信息,该API传入三个输入(attribute1、attribute2和API_key)以返回JSON文档

现在,我尝试使用web.py模块使用Python连接到端口8080上的服务器。我正在设计一个RESTful API,我希望将用户键入的参数输入到URL中,并将这些参数作为参数传递到上述函数中以返回JSON文档

这是我的简单web服务器代码

import web
import existing_api

attribute1 = ' '
attribute2 = ' '
api_key = ' '
url = ('/existingapi/'+attribute1+'/'+attribute2+'/'+api_key, 'index')
#print url
class index:
    def GET(self):
        return existing_api.retrieveInfo(attribute1, attribute2, api_key)


if __name__ == '__main__':
    app = web.application(url, globals())
    app.run()
我已经在现有的_api.py中编写了后端代码,我希望用户能够输入“localhost:8080/:attribute1/:attribute2/:api_key” 进入浏览器并返回现有的_api.retrieveInfo(attribute1、attribute2、api_键)。最好的方法是什么

此外,当我尝试硬编码属性和api_键时,URL会返回一条“未找到”消息。但是,如果我更改url的代码:

url = ('/existingapi/'+attribute1+'/'+attribute2+'/'+api_key, 'index')
阅读

url = ('/', 'index')    

如果没有localhost:8080中的属性和类型,我将从硬编码属性接收我要查找的信息。有人能解释为什么会这样吗?谢谢。

附议。这就是Flask真正做得很好的地方(和django,尽管对于如此简单的东西来说,这是一个更大的框架)。如果你不需要,就不要重新发明轮子,(也许你需要这样做?

你是否绑定到web.py?如果没有,你可能想看看。