SpringMVC学习:RestFul和Controller

RestFul和Controller

从目前的感受到的结果,RestFul风格会使得URL变得简洁,以及安全。因为将参数的具体作用掩盖,不再通过url显示,通过/a/b的这种方式隐式传参。

第一种实现RestFul方式的方法:

@Controller
public class RestFulController {

    @RequestMapping(value = "/res01/{a}/{b}",method = RequestMethod.DELETE)
    public String resTest01(Model model, @PathVariable int a,@PathVariable int b){

        model.addAttribute("msg","a = "+a+", b = "+b);
        return "test";
    }
}

需要借助**@RequestMapping(value="",method=RequestMethod.*)**,利用value传递具体路径以及需要路径传入的参数。如代码中的"/res01/{a}/{b}"。其中"/res01"为具体的主路径,“{a}”,“{b}”为传递的参数。在这里插入图片描述
如果没有传入上述格式的url,则会404。在这里插入图片描述
RestFul风格一个特点就是:同一个url,会根据请求方式的不同回应不同的结果,相当于不同的url。如果请求的方式未定义则也会报上述错误。

突发奇想对@RequestMapping中Value的参数名进行了修改,看看是不是会有影响:
在这里插入图片描述
本来以为这只是一个参数名,代表这里有参数,修改也并不会影响结果,没想到竟然出现了问题:
在这里插入图片描述
提示:对于方法中int类型的参数a,在URI中没有找到对应的模板变量!所以对于给定的URL模板中的参数名称必须与方法中的参数名对应。

思考了,重写修改方法中的变量参数,并且特地调整了一下uri中变量的顺序,看看是否是根据变量名对应,而不是简单的变量顺序自动对应
在这里插入图片描述
结果显示猜想是对的,对于value中uri的变量与方法中的变量是根据变量名称对应的!在这里插入图片描述

同时对于通过输入URL传入的参数类型如果无法对应,则同样会报错!在这里插入图片描述
接下来直接引用秦疆老师的笔记:
方法级别的注解变体有如下几个:组合注解
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping
@PatchMapping
可以利用这些注解直接替代RequestMapping注解中加上method的格式。
在这里插入图片描述
在这里插入图片描述
之后的开发中直接使用以上注解!

引用:狂神说SpringMVC03:RestFul和控制器

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值