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


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

相关推荐
啦哈哈啦几秒前
springboot + langchain4j + xinference + milvus
java·spring boot·语言模型·milvus
神仙别闹10 分钟前
基于Python+Neo4j实现新冠信息挖掘系统
开发语言·python·neo4j
木昜先生23 分钟前
知识点:深入理解 JVM 内存管理与垃圾回收
java·jvm·后端
115432031q27 分钟前
基于SpringBoot+Vue实现的旅游景点预约平台功能十三
java·前端·后端
战族狼魂30 分钟前
基于SpringBoot+PostgreSQL+ROS Java库机器人数据可视化管理系统
java·spring boot·postgresql
半个脑袋儿37 分钟前
Java线程控制: sleep、yield、join深度解析
java
猫猫头有亿点炸41 分钟前
C语言大写转小写2.0
c语言·开发语言
小智疯狂敲代码41 分钟前
Spring MVC-DispatcherServlet 的源码解析
java·面试
int0x0342 分钟前
Java中的内存"瘦身术":揭秘String Deduplication
java
半个脑袋儿42 分钟前
Java日期格式化中的“YYYY”陷阱:为什么跨年周会让你的年份突然+1?
java·后端