解决Spring Boot Post请求中的403错误

初学者在使用SpringBoot开发时遇到POST请求400或403错误,原因是启用了SpringSecurity的CSRF保护。禁用或调整设置后,问题得以解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初学spring boot 在进行请求时,get可以请求成功,但是Post在postman中一直报400或403的错误,然后在找资料的过程中,把控制器中修改成包含 get 和 post 请求,然后解决了问题?只是可以请求了,但是是用我的是post请求啊!!!这样相当于使用了get

method={RequestMethod.POST, RequestMethod.GET}

后面还去修改什么头部的Content-Type,还有看是不是请求体的问题,但是这些我都是没问题!

后面查了好久,发现,是一开始我安装了Security,Spring Security 中默认启用 CSRF。启用此功能可确保在更改(对象)状态的 HTTP 请求上出现 403 错误…欲了解更多信息,请访问:Spring Security Reference

然后因为我用不到这个,把它注释掉了,就彻底解决问了…找了好久………………无语了 家人们

成功请求到了!!!

当然,如果你是一定要使用这个的话,可以修改

原文章

rest - How to Solve 403 Error in Spring Boot Post Request - Stack Overflowicon-default.png?t=N7T8https://stackoverflow.com/questions/50486314/how-to-solve-403-error-in-spring-boot-post-request

Spring Boot中的POST请求通常可以通过`@RestController`注解标记的类和`@RequestMapping`或`@PostMapping`注解的方法来实现。以下是一个简单的例子: 首先,你需要在你的项目中引入Spring Boot的Web依赖,通常在`pom.xml`中添加如下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> ``` 然后,你可以创建一个控制器类,使用`@RestController`和`@RequestMapping`来定义处理POST请求的方法。`@PostMapping`是`@RequestMapping`的特化,专门用于处理POST请求: ```java import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api") public class MyController { @PostMapping("/postEndpoint") public String postMethod(@RequestBody String body) { // 这里可以根据需要处理body中的内容,并返回一个字符串作为响应 return "Received POST request with body: " + body; } } ``` 在这个例子中,`@PostMapping("/postEndpoint")`指定了这个方法将响应路径为`/api/postEndpoint`的POST请求。`@RequestBody`注解表示方法参数`body`将从请求体中自动填充,请求体的内容被当作字符串处理。 Spring Boot会自动配置嵌入式的Tomcat容器,因此你无需额外配置服务器,只需启动Spring Boot应用即可。 启动Spring Boot应用后,你可以使用工具如`curl`、Postman或者编写客户端代码来发送POST请求到`http://localhost:8080/api/postEndpoint`。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值