我想定义接口,一个是获取信息,一个是删除信息,一个修改信息,一个新增信息以下接口看起来是没有问题的,而且大家一般也是这么做的
/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=
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>");
}
});