Java SpringBoot Controller常见写法

文章目录


环境

系统: windows 11

工具: java, idea, git bash


Controller

接口常见有以下几种方式

其中: Tobj

调用脚本

我的是windows 系统,使用 git bash 窗口运行, 用 cmd 或者 power shell 会有问题

bash 复制代码
curl -X GET 'http://localhost:18011/.../testTobjBody?dateVal=dateVal&mark=mark' 
  
curl -X POST 'http://localhost:18011/.../testTobjBody' -H 'Content-Type: application/x-www-form-urlencoded' --data 'mark=mark&dateVal=dateVal'
  
curl -X POST 'http://localhost:18011/.../testTobjBody' -H 'Content-Type: application/json' --data-raw '{"dateVal":"dateVal","mark":"mark"}'

运行结果

红框标注说明是有问题

复制代码
testMap(String mark,String dateVal,HttpServletRequest request)
复制代码
testMap(Map map,HttpServletRequest request)
复制代码
testTobj(Tobj tobj, HttpServletRequest request)
复制代码
testMapBody(@RequestBody Map map,HttpServletRequest request)
复制代码
testTobjBody(@RequestBody Tobj tobj, HttpServletRequest request)

总结

使用 (String mark,String dateVal, HttpServletRequest request) 和 (Tobj tobj, HttpServletRequest request) 结果一样,GET 和 POST(application/x-www-form-urlencoded) 都可获取参数值

使用 (@RequestBody Map map, HttpServletRequest request) 和 (@RequestBody Tobj tobj, HttpServletRequest request) 结果一样,POST(application/json) Map,Tobj 可获取参数值, 但 HttpServletRequest 获取不到参数值

使用(Map map, HttpServletRequest request) 三种调用,Map都获取不到参数值, 但HttpServletRequest 可获取值


------------------ 但行好事莫问前程,你若盛开蝴蝶自来

相关推荐
考虑考虑1 小时前
Java实现hmacsha1加密算法
java·后端·java ee
掉鱼的猫2 小时前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·spring boot
plainGeekDev2 小时前
广播接收器 → Flow + Lifecycle
android·java·kotlin
plainGeekDev2 小时前
EventBus → SharedFlow
android·java·kotlin
带刺的坐椅2 小时前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·springboot·web·solon
用户3721574261352 小时前
Java 将一个 PPT 文档拆分为多个文件
java
人活一口气17 小时前
Spring Boot与AIGC的完美结合:从零搭建智能内容生成平台
java·spring boot·aigc
像我这样帅的人丶你还19 小时前
Java 后端详解(三):全局异常处理与 JPA 数据库映射
java·后端
NE_STOP20 小时前
vibe Coding -- 小项目实战
java
未秃头的程序猿1 天前
Java 26正式发布!这3个新特性,让代码量直接减半
java·后端·面试