SpringMVC restful风格

我想定义接口,一个是获取信息,一个是删除信息,一个修改信息,一个新增信息以下接口看起来是没有问题的,而且大家一般也是这么做的

/user/getinfo

/user/putinfo?id=

/user/delinfo?id=

/user/add

但是,这不是RESTful的,因为你定义了一个行为,将行为细节都交给接口实现的,每一个行为独占一个接口,如果业务有变更,你可能还要改,比如要求只能删除7天之前的。以下接口则是RESTfull的,接口仅描述了资源,具体操作由指定的动作来完成。

4.解决方案

使用HTTP协议动词来做增删改查操作

GET /user/info

DEL /user/info?id=

PUT /user/info?id=

扫描二维码关注公众号,回复: 1797707 查看本文章

POST /user/info

这样,服务端仅需要简单的维护资源,做状态切换却可。对于只能删除7天之前的这种事,则由上层逻辑去控制,底层安稳的一直存在下去,除非某一天,确实不用这个资源了。

$(editMember).on("click",function(){
        $.ajax({
            url : "member?mid=1111&name=阿伦&salary=999.99&hiredate=1999-90-90",
            type : "put",
            dataType : "json",
            success : function(data){
                $(showDiv).append("<h1>修改处理操作 "+ data.flag +"</h1>");
            },
            error : function(data){
                $(showDiv).append("<h1>修改页面出错了</h1>");
            }
        });
    });

 $.ajax({
            url : "member",
            type : "post",
            dataType : "json",
            data : {
                mid : 1001,
                name : "史密斯",
                salary : 9888.2,
                hiredate : "1999-10-12"
            },
            success : function(data){
                $(showDiv).append("<p>增加处理结果"+data.flag+"</p>");
            },
            error : function(data){
                $(showDiv).append("<p>对不起出错了     !!!!!!!!!!!!</p>");
            }
        });

猜你喜欢

转载自blog.csdn.net/zhanganggang/article/details/80851956