首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RESTfull概念

RESTfull概念
EN

Stack Overflow用户
提问于 2011-06-26 21:53:04
回答 1查看 1.4K关注 0票数 0

我仍然对RESTfull的概念感到困惑。我有一个服务,就像这里

代码语言:javascript
复制
include '../includeall.php';
$query = Q_GET_FACT_GIVEN_TABLE;

$i = 0;
$queryall = null;
if (isset($_GET['year'])) {
    $year = $_GET['year'];
    $queryall[$i++] = "f.year=" . $year;
}

if (isset($_GET['period_id'])) {
    $period_id = $_GET['period_id'];
    $queryall[$i++] = "f.period_id=" . $period_id;
}

if (isset($_GET['month_id'])) {
    $month_id = $_GET['month_id'];
    $queryall[$i++] = "f.month_id=" . $month_id;]
}

if (isset($_GET['var_in_cat_id'])) {
    $var_in_cat_id = $_GET['var_in_cat_id'];
    $queryall[$i++] = "f.var_in_cat_id=" . $var_in_cat_id;
}

if (isset($_GET['reg_id'])) {
    $reg_id = $_GET['reg_id'];
    if ($reg_id == "prop")
        $queryall[$i++] = "substring(reg_id,-2)='00' AND reg_id<>'0000'";
    else
        $queryall[$i++] = "f.reg_id=" . $reg_id;
}

if (isset($_GET['id_prop'])) {
    $idprop = $_GET['id_prop'];
    $queryall[$i++] = "substring(reg_id,1,2)='$idprop' AND substring(reg_id,-2)<>'00'";
}

if (isset($_GET['data_source_id'])) {
    $data_source_id = $_GET['data_source_id'];
    $queryall[$i++] = "f.data_source_id=" . $data_source_id;
}

for($i=0;$i<count($queryall);$i++){
    $queryi=$queryall[$i];
    $query.=" AND ".$queryi;
}

$query.=" ORDER BY reg_id,month_id";

$database = new Database();
$queryResult = $database->query($query);
$resultArray = Utils::convertToJSON($queryResult);
?>

我上面的实现代码可以作为web服务调用吗??它包含一些url上的用户请求输出中的JSON实现。如果它可以归类为web服务,我有什么类型的服务?是否可以将其作为RESTfull web服务调用。请帮帮我..

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-26 22:03:40

嗯,你可以认为它是一个web服务,但是它的接口没有REST方面。我叫它..。搜索功能。

REST(表述性状态转移)意味着HTTP方法定义您要采取的操作。例如,DELETE HTTP请求实际上会导致删除,而PUT将写入资源。如上所述,您的应用程序由一个搜索函数组成,因此不适用。

在php中,您可以确定来自$_SERVER['REQUEST_METHOD']的请求中使用的HTTP方法。

顺便说一下,您不应该将$queryall初始化为null,而应该将其初始化为array()。您也可以丢弃$i,只编写$queryall[] = ...而不是$queryall[$i++]

此外,您不应该通过连接输入字符串来构造数据库查询,因为此代码会使您的应用程序容易受到SQL injections的攻击。使用prepared statements来避免SQL注入漏洞。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6484374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档