SpringMVC的Restful风格

RestFul风格

概念

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

功能

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

资源操作:使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作。

分别对应 添加、 删除、修改、查询。

传统方式操作资源:

http://localhost/item?id=1

RESTFUL风格

http://localhost/item/1

测试:

环境我这里就不在一一搭建了,可以看上个博客

代码:

@Controller
public class HelloController {
    @GetMapping("/sum/{a}/{b}")
    public String getSum(@PathVariable String a,@PathVariable String b, Model model){
        String sum = a+b;
        model.addAttribute("msg",sum);
        return "hello";
    }
}

这样在浏览器就可以这样请求了:sum/1/2

页面跳转方式:

基于视图解析器存在的情况

1.页面转发

    @GetMapping("/test")
    public String forward( Model model){
        model.addAttribute("msg","hello,SpringMVC");
        // 转发
        return "hello";
    }

2.重定向

    @GetMapping("/test2")
    public String redirect(){
        // 重定向
        return "redirect:/index.jsp";
    }

扩展:

如果没有使用Restful风格,可能出现的传参问题

例如:

    @GetMapping("/test3")
    public String redirect(int num, Model model){
        model.addAttribute("msg",num);
        return "hello";
    }

传参必须与num名字一致,否则会报错,例:/test3/username=3,这是错误的写法,但是如果我们想用username怎么办,这里引入一个注解:

@RequestParam

public String redirect(@RequestParam("username") int num, Model model)

这样就规定参数名字必须要为注解里面的值,一般在开发中,我们都是需要加上这个注解的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Jamie Chyi

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

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

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

打赏作者

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

抵扣说明:

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

余额充值