SpringMVC-请求映射三种方式

1、请求方式的URL路径映射

组合注解

2、基于Ant风格的URL路径映射

在这里插入图片描述
代码测试

@Controller
@RequestMapping("/ant")
public class AntController {
    @RequestMapping("/ant1?")
    @RequestMapping("/ant2/*.do")
    @RequestMapping("/*/ant3")
	@RequestMapping("/**/ant4")
    @RequestMapping("/ant5/**")
}

3、基于RESTful风格的URL路径映射

3.1、概念

RESTful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁、更有层次,更易于实现缓存等机制。安全

RESTful风格在HTTP请求中,通过GET(查询)、POST(新增)、PUT(更新)、DELETE(删除) 4个动词对应的基本请求操作

功能:

资源:互连网所有的事物都可以被抽象为资源

资源操作:

@GetMapping():匹配GET方式的请求           获取资源
@PostMapping:匹配POST方式的请求           新建资源 
@PutMapping:匹配PUT方式的请求             更新资源
@DeleteMapping:匹配DELETE方式的请求       删除资源
@PatchMapping:匹配PPATCH方式的请求

3.2、传统方式操作资源

通过不同的参数来实现不同的效果!方法单一

​ http://127.0.0.1/item/queryItem.action?id=1 查询,GET

​ http://127.0.0.1/item/saveItem.action 新增,POST

​ http://127.0.0.1/item/updateItem.action 更新,POST

​ http://127.0.0.1/item/deleteItem.action?id=1 删除,GET或POST

3.3、使用RESTful操作资源

可以通过不同的请求方式来实现不同的效果!如下:请求地址一样,但是功能可以不同!

​ http://127.0.0.1/item/1 查询,GET

​ http://127.0.0.1/item 新增,POST

​ http://127.0.0.1/item 更新,PUT

​ http://127.0.0.1/item/1 删除,DELETE

代码测试

@Controller
@RequestMapping("/user")
public class RESTfulController {

    // 根据@PathVaribale注解获取路径中的参数
    @GetMapping("/{name}/{id}")
    public String findById(@PathVariable("name") String name, @PathVariable("id") String id) {
        System.out.println("根据id查询:" + id + ",名字为:" + name);
        return "success";
    }

    // @RequestMapping(method = RequestMethod.POST)
    @PostMapping
    public String add() {
        System.out.println("新增数据");
        return "success";
    }

    @DeleteMapping("/{name}/{id}")
    @ResponseBody
    public String deleteById(@PathVariable("name") String name,@PathVariable("id") String id) {
        System.out.println("根据id删除:" + id);
        return name;
    }

    @PutMapping("/{id}")
    public String updateById(@PathVariable("id") String id) {
        System.out.println("根据id修改:" + id);
        return "success";
    }
}

思考:使用路径变量的好处?

  • 使路径变得更加简洁
  • 获得参数更加方便,框架会自动进行类型转换
  • 通过路径变量的类型可以约束访问参数,如果类型不一样,则访问不到对应的请求方法,则路径与方法不匹配,而不会是参数转换失败
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_koen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值