spring-boot postman post请求遇到的坑

今天用postman调试接口,发现post请求进不去,一直报错

get请求是可以的,我就纳闷了,难道是我写接口的姿势不对?

后来逐步分析问题,发现问题出在了请求头Header的Content-Type上,

application/x-www-form-urlencoded这个类型,就报错,

必须要改成application/json,

网上查下资料,大概懂了,

 

后台请求用@RequestBody的话,Content-Type就要设置为application/json,如果用@RequestParam的话,application/x-www-form-urlencoded这个格式也是可以的,就是前端数据以form方式提交

即application/x-www-form-urlencoded的时候传参方式如下

application/json的时候,传参方式就是正常的json格式

### 如何在 Postman 中测试使用 Spring Boot Security 保护的 API 为了成功地在 Postman 中测试由 `spring-boot-starter-security` 保护的应用程序接口,需遵循特定流程来处理身份验证和授权机制。 #### 获取访问令牌 默认情况下,Spring Security 配置会启用基于表单的身份验证。对于 RESTful Web Services 的场景来说,通常采用 JSON Web Token (JWT) 或 OAuth2 进行认证[^1]。当应用程序集成了 JWT 后,在用户登录时服务器返回一个 token 给客户端。此 token 应该保存下来以便后续请求时作为 Authorization Header 发送至服务端完成鉴权过程。 ```bash POST /api/authenticate HTTP/1.1 Host: localhost:8080 Content-Type: application/json { "username": "your_username", "password": "your_password" } ``` 一旦收到有效的 JWT 响应,则可以将其存储起来用于下一步骤中的 API 请求头设置。 #### 设置 Postman 环境变量 建议创建环境变量以简化同环境中切换的工作量。可以在 Postman 内定义名为 `base_url` 和 `auth_token` 的两个全局或集合级别的环境变量: - base_url:指向目标主机的基础 URL 地址。 - auth_token:用来存放从上一步获得的有效期内的 access token 字符串。 这样做的好处是可以轻松修改基础路径而无需逐一手动调整每一个单独的请求链接;同时也方便管理多个用户的 tokens。 #### 构建受保护资源的 GET 请求 现在准备好向安全端点发起读取数据的操作了。打开 Postman 新建一条 GET 类型的消息体并按照如下所示填写参数值: ```http GET {{base_url}}/protected/resource HTTP/1.1 Authorization: Bearer {{auth_token}} Accept: application/json ``` 这里利用到了之前设定好的环境变量 `${{base_url}}` 及 `${{auth_token}}` ,从而实现了动态替换实际使用的地址与凭证信息的功能。 #### 处理 CSRF 攻击防护 由于 Spring Security 默认开启了防止跨站请求伪造(CSRF)攻击的安全特性,这可能会给非浏览器客户端带来便之处。如果项目允许的情况下可以选择禁用这项功能,过更推荐的方式是在发送 POST/PATCH/PUT/DELETE 方法前先取得一次性的 _csrf 参数并通过自定义 header `_csrf` 提交回去确认合法性[^4]。 ```java // Java Config Example to Disable CSRF Globally @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.csrf().disable(); // Not Recommended for Production Use } } ``` 以上就是关于如何借助工具 Postman 对启用了 Spring Boot Security 插件后的 API 接口实施调试的主要步骤介绍。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值