自学内容网 自学内容网

第四章 Spring Boot快速⼊⻔ —— Spring Boot中的MVC支持

前言:

        Spring Boot 的 MVC 支持主要来介绍实际项目中最常用的几个注解,包括 `@RestController`、 `@RequestMapping`、`@PathVariable`、`@RequestParam` 以及 `@RequestBody`。主要介绍这几个注解常用的使用方式和特点。


一:@RestController

        结合了@Controller和@ResponseBody注解的功能,用于创建RESTful风格的Web服务。当使用@RestController注解时,控制器的方法默认会以JSON格式返回数据。

代码演示:

@RestController
public class RequestController {

    @RequestMapping("/restController")
    public String test() {
        return "RestController注解测试";
    }
}

二:@RequestMapping

        用于处理请求地址映射的注解,可以指定请求的实际地址、请求方式(如GET、POST等)以及响应的内容类型(如application/json)。此外,Spring Boot还提供了@GetMapping、@PostMapping、@PutMapping和@DeleteMapping等简化注解,分别对应不同的HTTP请求方式。

1.@GetMapping

  用于处理 HTTP GET 请求的注解,通常用于查询数据

代码演示:

@RestController
public class RequestController {


    @GetMapping("/get")
    public String get() {
        return "GetMapping注解,GET 请求的注解,通常用于查询数据";
    }
}

2.@PostMapping

用于处理 HTTP POST 请求的注解,通常用于保存数据

代码演示:

@RestController
public class RequestController {

   

    @PostMapping("/post")
    public String post() {
        return "PostMapping注解,POST 请求的注解,通常用于保存数据";
    }

   
}

3.@PutMapping

用于处理 HTTP PUT 请求的注解,它通常用于更新数据。

代码演示:

@RestController
public class RequestController {

 
    @PutMapping("/put")
    public String put() {
        return "PutMapping注解, PUT 请求的注解,它通常用于更新数据";
    }

    
}

4.@DeleteMapping

用于处理 HTTP DELETE请求的注解,它通常用于删除数据。

代码演示:

@RestController
public class RequestController {


    @DeleteMapping("/del")
    public String del() {
        return "DeleteMapping注解,DELETE请求的注解,它通常用于删除数据。";
    }
}

 

三:@PathVariable

用于从URL模板中获取参数值,支持RESTful风格的URL设计。

@RestController
public class RequestController {


    @DeleteMapping("/del/{id}")
    public String del(@PathVariable("id") Integer id) {
        return "请求参数PathVariable注解,PathVariable。" + id;
    }
}

 例如当访问 http://localhost:8080/del/1id参数的值 1 将被自动绑定到 del方法的 id参数上,并且方法将返回这个值。

四:@RequestParam

用于从request中获取请求参数,支持GET和POST请求的参数绑定。

代码示例:

@RestController
public class RequestController {

   
    @GetMapping("/param")
    public String param(@RequestParam(value = "name") String name) {
        return name;
    }
}

例如当访问 http://localhost:8080/simple?name=JohnDoe 时,name 参数的值 "JohnDoe" 将被自动绑定到 simple 方法的 name 参数上,并且方法将返回这个值。

五:@RequestBody

`@RequestBody` 注解用于接收前端传来的实体,接收参数也是对应的实体,比如前端通过 json 提交传来两个参数 username 和 password,此时我们需要在后端封装一个实体来接收。在传递的参数比较多的情况下,使用 `@RequestBody` 接收会非常方便。

代码示例:

class User {
private String username;
private String password;
// set get
}


@RestController
public class RequestController {


    @PostMapping("/user")
public String testRequestBody(@RequestBody User user) {
System.out.println("获取到的username为:" + user.getUsername());
System.out.println("获取到的password为:" + user.getPassword());
return "success";
}
}

`@RequestBody` 注解用于 POST 请求上,接收 json 实体参数。它和上面我们介绍的表单提交有点类似,只不过参数的格式不同,一个是 json 实体,一个是表单提交。在实际项目中根据具体场景和需要使用对应的注解即可。

总结:

本节课主要讲解了 Spring Boot 中对 MVC 的支持,分析了 `@RestController`、 `@RequestMapping`、`@PathVariable`、 `@RequestParam` 和 `@RequestBody` 四个注解的使用方式,由于 `@RestController` 中集成了 `@ResponseBody` 所以对返回 json 的注解不再赘述。以上四个注解是使用频率很高的注解,在所有的实际项目中基本都会遇到,要熟练掌握。


原文地址:https://blog.csdn.net/Qzhangww/article/details/143898270

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!