SpringMVC(3)——REST风格

一,简介

表现形式状态转换(其实就是访问网络资源的格式)

优点:

1、隐藏资源的访问行为,无法通过地址的值对资源是进行何种操作

2、书写简化

二,常用行为

url作用
http://localhost/users查询全部GET(查询)
http://localhost/users/1查询指定用户信息GET(查询)
http://localhost/users添加用户信息POST(新增/保存)
http://localhost/users修改用户信息PUT(修改/更新)
http://localhost/users/1删除用户信息DELETE(删除)

可以看到有些操作发送的url是一样的,所以是通过发送请求的方式来区别不同的操作

三,基本使用

1、在方法的@RequestMapping直接中配置请求以何种方式发送,如
@RequestMapping(value="/users",method=RequestMathod.post)

2、使用这种风格会与之前传参发生冲突,为了能正确传参,需要在形参前面加上@PathVariable注解

3、上面的操作就表示参数来自访问路径,因此我们需要在路径那做相应的(@RequestMapping注解的value配置的就是访问路径)
如@RequestMapping(value="/users/{id}",method=RequestMethod.POST)
注意名字要与参数相同

四,应用

1、当发送请求超过一个时,以json格式为主(@RequestMapping需要换成@RequestBody)

2、如果发送json数据,形参使用的注解应该有@PathVariable变成@RequestParam

五,简化

1、问题:

@RequestMapping(value="/users/{id}",method=RequestMethod.POST)
这样写太麻烦了

2、解决:

可以用@PostMapping("/users/{id}"),以此类推还有@GetMapping、@DeleteMapping、@PutMapping

3、补充:

①如果该控制器的所有方法配置的访问路径相同,可以像之前一样在类注解的@RequestMapping配置一下,这样下面的路径就可以简化了
②如果控制器的所有方法请求发送的方式全是post可以把@ResponseBody放在类上成为类注解
③如果这样的话@ResponseBody与@Controller注解可以合并成@RestController

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值