SpringBoot中的Rest映射(即如何使用form表单进行PUT和DELETE方法的提交),常用的几种参数注入注解(详细介绍)

本文介绍了SpringBoot中实现RESTful API的方法,包括使用RestController及HTTP方法映射,如GET、POST、PUT、DELETE。针对表单提交PUT和DELETE方法的问题,通过启用HiddenHttpMethodFilter并利用隐藏字段解决。此外,还详细讲解了SpringBoot中常见的参数注解,如@PathVariable、@RequestHeader、@RequestParam和@RequestBody的使用方式,并给出了相关示例。

一:SpringBoot中的Rest映射

1.Rest风格介绍
首先解释什么是Rest风格

REST风格
REST 是一种软件架构风格,其本身是围绕HTTP的URI资源进行约束。

URI 中不能有动词,因为 URI 本身是资源的表示,所以网址中不能有动词,只能由名词,动词由 HTTP 协议中的操作:GET、POSE、PUT、DELETE 四种方法表示。
如果有自定以的状态码,由于 REST 本身是根据 HTTP 协议进行规范的,所以尽量使用 HTTP 协议的状态码。
200:OK 请求响应成功,服务器返回数据,该操作是幂等的
201:CREATED 新建或者修改数据成功
204:NOT CONTENT 删除数据成功
400:BAD REQUEST 用户发出的请求有问题,该操作是幂等的
401Unauthoried 表示用户没有认证,无法进行操作
403Forbidden 用户访问是被禁止的
404Not Found 请求资源不存在
422Unprocesable Entity 当创建一个对象时,发生一个验证错误
500:INTERNAL SERVER ERROR 服务器内部错误,用户无法判断请求是否成功
503Service Unavailable 服务器不可用状态,多半是服务器问题,例如CPU占用率打等。
风格差别:

Rest风格样例:

@RestController
public class TestController {
   
   
    
    @GetMapping("/user")
    public String getUser(){
   
   
        return null;
    }
    
    @PostMapping("/user")
    public String postUser(){
   
   
        return null;
    }
    
    @PutMapping("/user")
    public String putUser(){
   
   
        return null;
    }
    
    @DeleteMapping("/user")
    public String deleteUser(){
   
   
        return null;
    }
}

在这里插入图片描述

2.如何在form表单中使用put和delete方法提交
错`误案列:

@RestController
public class TestController {
   
   



    @GetMapping("/user")
    public String getUser(){
   
   

        return "GET";
    }

    @PostMapping("/user")
    public String postUser(){
   
   
        return "POST";
    }

    @PutMapping("/user")
    public String putUser(){
   
   
        return "PUT";
    }

    @DeleteMapping("/user")
    public String deleteUser(){
   
   
        return
### Spring Boot Vue 进行表单处理的教程与示例 在 Web 应用开发中,表单处理是一个常见的需求。通过结合 Spring Boot 后端框架 Vue.js 前端框架,可以实现高效的数据交互动态用户体验。 #### 1. **前端部分:Vue 表单设计** Vue 提供了强大的双向数据绑定机制 `v-model` 来简化表单输入字段与组件状态之间的同步操作。以下是一个简单的 Vue 表单示例: ```html <template> <div> <form @submit.prevent="handleSubmit"> <label for="name">姓名:</label> <input type="text" id="name" v-model="formData.name" required /> <label for="email">邮箱:</label> <input type="email" id="email" v-model="formData.email" required /> <button type="submit">提交</button> </form> </div> </template> <script> export default { data() { return { formData: { name: '', email: '' } }; }, methods: { handleSubmit() { this.$axios.post('/api/submit-form', this.formData).then(response => { console.log('成功:', response.data); }).catch(error => { console.error('错误:', error.response ? error.response.data : error.message); }); } } }; </script> ``` 此代码展示了如何创建一个基本的 Vue 表单并将其发送到后端 API[^3]。 --- #### 2. **后端部分:Spring Boot 接收表单数据** Spring Boot 使用控制器来接收 HTTP 请求并将请求参数映射到 Java 对象。下面展示了一个用于接收表单数据的简单 REST 控制器: ```java import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api") public class FormController { @PostMapping("/submit-form") public String handleFormSubmission(@RequestBody FormData formData) { System.out.println("接收到的表单数据:" + formData.getName() + ", " + formData.getEmail()); return "Success"; } static class FormData { private String name; private String email; // Getter and Setter Methods public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } } } ``` 这段代码定义了一个 `/api/submit-form` 路由,它接受 JSON 格式的 POST 数据,并打印出接收到的内容[^4]。 --- #### 3. **跨域配置 (CORS)** 如果前端运行在一个不同的域名或端口上,则需要启用 CORS 支持。可以通过全局配置或者特定方法上的注解完成这一设置: ```java @Configuration public class CorsConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") // 所有路径都允许跨域访问 .allowedOrigins("*") // 允许所有源 .allowedMethods("GET", "POST", "PUT", "DELETE"); // 允许的方法类型 } } ``` 以上代码片段实现了对所有请求路径开放 CORS 的支持[^5]。 --- #### 4. **验证与异常处理** 为了增强应用的安全性健壮性,在前后端都需要加入必要的校验逻辑。例如,可以在 Spring Boot 中利用 Hibernate Validator 实现服务器端的约束条件检查;而在客户端则可借助 JavaScript 或第三方库如 Vuelidate 完成初步过滤。 --- ### 总结 上述内容涵盖了基于 Spring Boot Vue 构建表单的基本流程,包括但不限于前端界面构建、AJAX 请求发起以及后台服务搭建等方面的知识点。希望这些信息能够帮助您更好地理解两者协作的方式及其实际应用场景。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

@黑夜中的一盏明灯

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

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

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

打赏作者

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

抵扣说明:

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

余额充值