SpringMVC中Restful风格

RestFul 风格

使用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

步骤:

  1. 新建一个类 RestFulController

    
    @Controller
    public class restfulcontroller {
       
    }
    
  2. RequestMapping默认是以get方式提交,但可以设置,同时也可以选择不同的Mapping

    设置如:

    //映射访问路径,必须是POST请求
    @RequestMapping(value = "/hello",method = {RequestMethod.POST})
    public String index2(Model model){
       model.addAttribute("msg", "hello!");
       return "test";
    }
    
    

    可设置的Mapping有:

    @GetMapping
    @PostMapping
    @PutMapping
    @DeleteMapping
    @PatchMapping
    
  3. 在Spring MVC中可以使用 @PathVariable 注解,让方法参数的值对应绑定到一个URI模板变量上

  4. 参考案例如下

package com.yang.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class restfulcontroller {
    //映射访问路径
    @GetMapping("/commit/{a}/{b}")
    public String index(@PathVariable int a, @PathVariable String b, Model model){

        String result = a + b;
        //Spring MVC会自动实例化一个Model对象用于向视图中传值
        model.addAttribute("msg", "结果1:"+result);
        //返回视图位置
        return "test";

    }
    //映射访问路径
    @PostMapping("/commit/{a}/{b}")
    public String index2(@PathVariable int a, @PathVariable String b, Model model){

        String result = a + b;
        //Spring MVC会自动实例化一个Model对象用于向视图中传值
        model.addAttribute("msg", "结果2:"+result);
        //返回视图位置
        return "test";

    }
}

好处:相同的路径下,不同的请求方式可拿到不同的内容

你可能感兴趣的:(笔记,springmvc)