restful,实际开发请求

Restful接口通常返回的是完整的数据模型,粒度过于“粗”,对客户端不友好(客户端可能只需要其中一小部分字段)。

Restful典型使用场景:开放API(各种开放平台的数据api)。开放API之所以开放,就是因为不知道也不关心客户端需要什么返回结果,直接返回完整的数据,好处是通用。

实际开发中,通常都是内部接口开发,需求非常明确,所以一般都是灵活借鉴Restful中的优点,结合自己的实际情况,来设计自己的内部api,在基本的增删改查接口之外,通常会设计一些业务接口(根据业务逻辑需要,一个接口中对多个资源的数据进行整合再返回)。

restful 常用的资源路由:

标识请求类型生成路由规则对应操作方法(默认)备注
indexGETnewsindex查询多条数据(列表)
readGETnews/:idread查询一条数据(详情、修改页面展示)
savePOSTnewssave新增一条数据
updatePUTnews/:idupdate修改一条数据
deleteDELETEnews/:iddelete删除一条数据

请求类型伪装:支持请求类型伪装,可以在post表单里面提交——method变量,传入需要的伪装的请求类型,例如

 

比如 使用ajax的post请求伪装put请求

public/api.html中 添加以下代码

<input type="button" id="post_to_put" value="伪装put">
<input type="button" id="post_to_delete" value="伪装delete">
<script>
    $(function(){
        $('#post_to_put').click(function(){
            $.ajax({
                "url":"/news/33",
                "type":"post",
                "data":"_method=put",
                "dataType":"json",
                "success":function(res){
                    console.log(res);
                }
            });
        });
        $('#post_to_delete').click(function(){
            $.ajax({
                "url":"/news/33",
                "type":"get",
                "data":"_method=delete",
                "dataType":"json",
                "success":function(res){
                    console.log(res);
                }
            });
        });
    })
</script>


版权声明:本文为chou142857原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。