restful好处,表单提交put/delete

restful的好处:

轻量,基于http;
看Url就知道要什么,url有很强可读性的,具有自描述性;
看http method就知道干什么,基于http请求的方式不同,对应资源的增删改查;
看http status code就知道结果如何:

服务器向用户返回的状态码和提示信息,常用的有:
200 OK :服务器成功返回用户请求的数据
201 CREATED :用户新建或修改数据成功。
202 Accepted:表示请求已进入后台排队。
400 INVALID REQUEST :用户发出的请求有错误。
401 Unauthorized :用户没有权限。
403 Forbidden :访问被禁止。
404 NOT FOUND :请求针对的是不存在的记录。
406 Not Acceptable :用户请求的的格式不正确。
500 INTERNAL SERVER ERROR :服务器发生错误。

可提供OpenAPI,便于第三方系统集成;
如果提供无状态的服务接口,提高应用的水平扩展性;
资源描述与视图的松耦合;
服务器返回的数据格式一般以xml,json做数据交换;

tip:
web应用下,大部分浏览器只支持get、post方式;

如何在表单提交put/delete请求:

//添加拦截器
  <filter>
        <filter-name>httpMethodFilter</filter-name>
        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>httpMethodFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
//前端如果想发送delete请求,那么需要先发送post请求,在请求参数中携带参数名"_method",value为"delete"; $.ajax({ type: "post", url:url, data: {"contentId": id, "_method": "delete"}, success: function (data) { if (data.status == 0) { alert("成功!"); location.reload(); } else { alert("操作失败!" + data.reason); } } }); //或者表单提交时,增加hidden类型数据: <input type="hidden" name="_method" value="put" />
原文地址:https://www.cnblogs.com/brxHqs/p/13594183.html