Spring @PostMapping 能在 URL 中带有参数吗
有个比较简单的问题。
Spring 的 @PostMapping 在使用 POST 提交的时候,能不能在 URL 中带参数?
简答
短回答肯定是可以的。
在非常早期的 Web 开发的时候,我们会通过网页的 JSP 来提交表单,在这个表单提交的时候,有一个非常困惑的问题就是如果不指定 POST 的提交参数。
所有的表单数据都会拼装成 URL 中参数来进行提交。
所以 POST 是肯定可以带参数的。
Spring RestController
在 Spring 的 RestController 写法也非常简单。
就和 Get 获得参数的方法是一样的。
@PostMapping("/search")
@ResponseBody
public ResponseEntity<?> searchVisa(@RequestBody(required = false) String searchPayload, @RequestParam(value = "p", required = false) Integer pageNumber) {
}
上面的代码就可以从 URL 获得请求参数 p。
URL 也可以使用非常简单的参数模式。
/visa/search?p=0
通过上面的代码,在你的控制层中,就可以获得 p 传递给程序的数据了。
因为我们将 p 定义成整形,Spring 也非常贴心的给我们做了类型校验。
如果你传入的数据是字符的话,这里会抛出一个异常。
这个错误就是类型转换错误。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2021-09-11 Node 的 cross-env 模块
2021-09-11 如何禁用 Gmail 的分类(Categories )标签
2021-09-11 JavaScript 的 Math.floor() 函数
2021-09-11 JavaScript 的 Math.ceil() 函数
2021-09-11 NVM 如何切换版本
2021-09-11 Npm 安装提示 EUNSUPPORTEDPROTOCOL 错误
2020-09-11 Docsify 初始化文件夹