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 可获取值


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

相关推荐
sg_knight22 分钟前
Spring Cloud与RabbitMQ深度集成:从入门到生产级实战
java·spring boot·spring·spring cloud·消息队列·rabbitmq·stream
hsjkdhs24 分钟前
C++之类的继承与派生
开发语言·c++
lly2024061 小时前
HTML 元素:构建网页的基础
开发语言
低调小一1 小时前
LRU缓存科普与实现(Kotlin 与 Swift)
开发语言·缓存·kotlin
爱好学习的青年人1 小时前
一文详解Go语言字符串
开发语言·后端·golang
Chan161 小时前
批处理优化:从稳定性、性能、数据一致性、健壮性、可观测性五大维度,优化批量操作
java·spring boot·后端·性能优化·java-ee·intellij-idea·优化
行者阿毅1 小时前
langchain4j+DashScope (通义千问)文生图
java·ai作画
Bug退退退1231 小时前
Java 网络流式编程
java·服务器·spring·sse
IT机器猫1 小时前
RabbitMQ
java·rabbitmq·java-rabbitmq
小杨的全栈之路1 小时前
冒泡、插入、选择、归并、堆排序:从名字由来到Java实现,一篇讲透
java·排序算法