RESTful风格

RESTful风格

1、简介

将服务器上的所有内容都看成资源,是一种网页开发的规范

2、REST规范具体要求

①四种请求方式对应四种常见操作

REST 风格主张在项目设计、开发过程中,具体的操作符合HTTP协议定义的请求方式的语义

操作请求方式
查询操作GET
保存操作POST
删除操作DELETE
更新操作PUT

②URL地址风格

REST风格提倡URL地址使用统一的风格设计,从前到后各个单词使用斜杠分开不使用问号键值对方式携带请求参数,而是将要发送给服务器的数据作为URL地址的一部分,以保证整体风格的一致性。还有一点是不要使用请求扩展名

传统 URL 地址REST 风格地址
/remove/emp?id=5/emp/5

例:

操作传统风格REST 风格
保存/CRUD/saveEmpURL 地址:/CRUD/emp
请求方式:POST
删除/CRUD/removeEmp?empId=2URL 地址:/CRUD/emp/2
请求方式:DELETE
更新/CRUD/updateEmpURL 地址:/CRUD/emp
请求方式:PUT
查询(表单回显)/CRUD/editEmp?empId=2URL 地址:/CRUD/emp/2
请求方式:GET

3、示例

1.查询(GET)和增加(POST)

controller文件中

//查询所有用户信息-->/CRUD/user请求方式:GET
@RequestMapping(value = "/CRUD/user",method = RequestMethod.GET)
public String getAllUser(){
    System.out.println("查询所有用户");
    return "success";
}

//根据id查询用户信息-->/CRUD/user/2请求方式:GET
@RequestMapping(value = "/CRUD/user/{id}",method = RequestMethod.GET)
//绑定路径中的数字id
public String getUserById(@PathVariable("id") Integer id){
    System.out.println("根据id查询用户");
    return "success";
}

@RequestMapping(value = "/CRUD/user",method = RequestMethod.POST)
public String InsertUser(){
    System.out.println("添加用户信息");
    return "success";
}
  <a th:href="@{/CRUD/user}">查询所有用户</a>
  <a th:href="@{/CRUD/user/1}">查询id为1的用户</a>
<form th:action="@{/CRUD/user}" method="post">
    <input type="submit" value="Add User">
</form>

2.修改(PUT)和删除(DELETE)

浏览器只能发送GET和POST,通过web.xml添加过滤器

<!--  处理请求参数的过滤器  -->
<filter>
    <filter-name>HiddenHttpMethodFilter</filter-name>
    <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>HiddenHttpMethodFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

发送PUT和DELETE等特殊请求

<form th:action="@{/CRUD/user/2}" method="post">
    <!-- 设置name="_method" value="?" 代表请求方式 -->
    <input type="hidden" name="_method" value="put">
    <input type="submit" value="Add User">
</form>

在controller层进行处理

@RequestMapping(value = "/CRUD/user/{id}",method = RequestMethod.DELETE)
public String DeleteUser(@PathVariable("id") Integer id){
    System.out.println("删除用户信息id:"+ id);
    return "success";
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值