SpringBoot——表单rest风格( @GetMapping,@PostMapping,@PutMapping,@DeleteMapping)

表单rest风格支持使用HTTP请求方式动词来表示对资源的操作。

  • 使用@RequestMapping时,我们用"/getUser"表示获取用户,"/deleteUser"表示删除用户,"/editUser"表示修改用户,"/saveUser"表示保存用户。当系统复杂时,每个实体都对应相应的增删查改HTTP请求。
  • 现在我们可以用@RequestMapping(value = “/user”,method = RequestMethod.X)。 X可以是:GET-获取用户,DELETE-删除用户,PUT-修改用户,POST-保存用户。
  • SpringBoot提供了注解:
    如@GetMapping("/user")代替@RequestMapping(value = “/user”,method = RequestMethod.GET)

实例


<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>rest风格测试title>
head>
<body>
<h1>测试REST风格h1>
<form action="/user" method="get">
    <input value="REST-GET 提交" type="submit"/>
form>
<form action="/user" method="post">
    <input value="REST-POST 提交" type="submit"/>
form>
<form action="/user" method="post">
    <input name="_method" type="hidden" value="delete"/>
    <input name="_m" type="hidden" value="delete"/>
    <input value="REST-DELETE 提交" type="submit"/>
form>
<form action="/user" method="post">
    <input name="_method" type="hidden" value="PUT"/>
    <input value="REST-PUT 提交" type="submit"/>
form>

body>
html>

application.yaml文件:

spring:
  mvc:
    hiddenmethod:
      filter:
        enabled: true   #开启页面表单的Rest功能

controller层:

@RestController
public class ReController {
     
    //    @RequestMapping(value = "/user",method = RequestMethod.GET)
    @GetMapping("/user")
    public String getUser(){
     

        return "GET-张三";
    }

    //    @RequestMapping(value = "/user",method = RequestMethod.POST)
    @PostMapping("/user")
    public String saveUser(){
     
        return "POST-张三";
    }


    //    @RequestMapping(value = "/user",method = RequestMethod.PUT)
    @PutMapping("/user")
    public String putUser(){
     

        return "PUT-张三";
    }

    @DeleteMapping("/user")
//    @RequestMapping(value = "/user",method = RequestMethod.DELETE)
    public String deleteUser(){
     
        return "DELETE-张三";
    }
}

你可能感兴趣的:(springboot,java,spring,boot)