目录
学习记录仅供参考
意思:请求资源状态转换
接收参数;
接收一个参数:
接收多个参数
@RequestParam注解:
在Spring Boot中,@RequestParam
是一个用于处理 HTTP 请求参数的注解,它属于 Spring MVC 框架的一部分。当你使用 @RequestMapping
或其派生注解(如 @GetMapping
或 @PostMapping
)来处理请求时,@RequestParam
可以帮助你提取请求中的参数,并将其绑定到控制器方法的参数上。
通过封装对象的方式来接收参数:
获取地址上的参数:
@PathVariable注解:
在Spring Boot中,@PathVariable
是一个注解,用于从URL模板变量中提取值并将其绑定到控制器方法的参数上。它是Spring MVC框架路由机制的一部分,允许你定义动态的URL路径,并将路径中的部分作为参数传递给控制器
请求转发和重定向:
请求转发:
转发:同一个服务器中的不同的服务进行转发 浏览器发送了一个请求 可以转发到项目中受保护的资源WEB-INF 转发是request对象执行forward方法,只有一个请求.
* Spring里面默认是转发的形式
重定向:
可以在不同的服务之间跳转,浏览器发送了两次请求
* 重定向是通过response对象通知浏览器重新访问,使用redirect方法
@ResponseBody注解
在Spring Boot框架中,@ResponseBody
是一个注解,它的作用是将返回值直接作为HTTP响应的正文返回,而不是返回一个视图(View)。这个注解通常用在控制器(Controller)的方法上,告诉Spring MVC框架,该方法的返回值应该被序列化成JSON或XML等格式,然后直接写入HTTP响应体中。
拦截器
在Spring Boot中,拦截器(Interceptor)是一个在请求处理流程中的一个组件,用于在控制器方法执行前后进行一些操作。Spring的拦截器机制允许开发者在请求处理之前或之后执行一些特定的逻辑,比如日志记录、安全检查、事务管理等。
拦截器的使用步骤;
-
实现拦截器接口:创建一个类实现
HandlerInterceptor
接口,并实现其方法preHandle
、postHandle
和afterCompletion
。
2.注册拦截器:将拦截器注册到Spring应用上下文中。这可以通过实现WebMvcConfigurer
接口的addInterceptors
方法来完成。
请求方式:
在Spring Boot中,@GetMapping
、@PostMapping
、@PutMapping
和@DeleteMapping
是用于映射HTTP请求到控制器方法的注解。这些注解是@RequestMapping
注解的特定HTTP方法变体,它们提供了一种更简洁的方式来指定请求的HTTP方法。、
1. @GetMapping
- 用于处理HTTP GET请求。
- 可以返回一个模型(Model)和视图(View),或者直接返回响应体(如果结合了`@ResponseBody`)。
2. @PostMapping
- 用于处理HTTP POST请求。
- 通常用于创建资源。
3. @PutMapping
- 用于处理HTTP PUT请求。
- 通常用于更新资源。
4. @DeleteMapping
- 用于处理HTTP DELETE请求。
- 通常用于删除资源。
这些注解可以接收参数,如路径变量(`@PathVariable`)、请求参数(`@RequestParam`)、请求体(`@RequestBody`)等,以获取请求的相关信息。此外,它们可以与`@ResponseBody`注解结合使用,以返回JSON或XML格式的响应体,而不是传统的视图。
`@RestController`注解是一个组合注解,它包含了`@Controller`和`@ResponseBody`。当你在一个类上使用`@RestController`时,该类中的所有方法都会自动应用`@ResponseBody`效果,这意味着方法的返回值将直接作为响应体返回。
使用这些注解可以清晰地表达你的意图,并且使代码更加简洁和易于理解。
springmvc异常处理机制
定义用于处理异常的类
类提供一些方法来显示我们的异常类型或者其他操作
实现方式:
通过@ControllerAdvice来标注这个异常处理器可以为全项目服务