REST API - 为什么要使用PUT DELETE POST GET?

所以,我正在浏览一些关于创建REST API的文章。其中一些建议使用所有类型的HTTP请求:比如PUT DELETE POST GET。我们将创建例如index.php并以这种方式编写API:


$method = $_SERVER['REQUEST_METHOD'];

$request = split("/", substr(@$_SERVER['PATH_INFO'], 1));


switch ($method) {

  case 'PUT':

    ....some put action.... 

    break;

  case 'POST':

    ....some post action.... 

    break;

  case 'GET':

    ....some get action.... 

    break;

  case 'DELETE':

    ....some delete action.... 

    break;

}

好的,授予 - 我对Web服务还不太了解(还)。但是,通过常规或(包含方法名称和所有参数)接受JSON对象并不是更容易,然后也以JSON响应。我们可以通过PHP轻松地序列化/反序列化,并且可以使用该数据执行任何操作,而无需处理不同的HTTP请求方法。POSTGETjson_encode()json_decode()


我错过了什么吗?


更新1:


好的 - 在深入研究各种API并学习了很多关于XML-RPC,JSON-RPC,SOAP,REST后,我得出结论,这种类型的API是合理的。实际上堆栈交换几乎在他们的站点上使用这种方法,我认为这些人知道他们正在做什么Stack Exchange API。


PIPIONE
浏览 3123回答 3
3回答

拉丁的传说

这是一个安全性和可维护性问题。安全的方法只要有可能,您应该使用“安全”(单向)方法,如GET和HEAD,以限制潜在的漏洞。幂等方法只要有可能,您应该使用“幂等”方法,如GET,HEAD,PUT和DELETE,这些方法不会产生副作用,因此不易出错/易于控制。
打开App,查看更多内容
随时随地看视频慕课网APP