我有一个简单的表数据源,我希望能够通过 API 进行查询。
我希望能够查询任何一列。理想情况下,我可以查询每列的多个值。一列有文本,我需要能够进行部分和近似匹配(以及处理变音符号)
我想知道人们推荐哪些软件包来构建它。我意识到这很简单,但它似乎是一个足够普遍的目标,我认为会有一些东西可以完成所有繁重的工作。
理想情况下,我想使用 python/django,但也可以使用 PHP。有什么可以帮助解决这个问题的吗?
import sqlite3
conn = sqlite3.connect("some_db.sqlite")
conn.execute("SELECT * FROM TABLE WHERE some_field=?",('field_value',)) #this should properly escape values
# or
conn.execute("SELECT * FROM TABLE WHERE some_field LIKE ?",('%parial_match%',))
不确定这是否是您要的(这是python)
可能您可能想查看此链接,这将为您提供一些关于结构化的信息和一些用于构建 API 的模板代码(在 PHP 中):
http://net.tutsplus.com/tutorials/php/creating-an-api-centric-web-application/
从 URL 的格式到其中调用的方法的调用。IE:
$controller = ucfirst(strtolower($params['controller']));
我假设既然你提到了 django,你要求创建一个面向 Web 的 API(就像 twitter 和 facebook 提供的那样),如果是这样的话,有几个选项:
你可能根本不需要写任何东西。有像apigee这样的平台,您只需单击几个链接即可创建 API。他们有免费帐户,就像网络上的几乎每个人一样。
如果这对您不起作用,您可以使用flask-rest(针对Flask
微框架进行了优化)或与django for Python 配合使用的tastepie 。两者都将允许您轻松地为您的数据源创建 API,并且它们将为您处理大部分样板代码。
对于 PHP,之前有人已经问过同样的问题,所以这将是一个很好的资源。
如果您只想在现有数据库之上创建 API 并使用此 API 在其他应用程序中查询数据库,那么 Python 的事实标准是SQLAlchemy。