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


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

相关推荐
m0_706653234 分钟前
分布式系统安全通信
开发语言·c++·算法
2501_9419820512 分钟前
深度对比:Java、Go、Python 实现企微外部群推送,哪个效率更高?
java·golang·企业微信
寻寻觅觅☆36 分钟前
东华OJ-基础题-104-A == B ?(C++)
开发语言·c++
马猴烧酒.36 分钟前
【面试八股|JAVA多线程】JAVA多线程常考面试题详解
java·服务器·数据库
lightqjx1 小时前
【C++】unordered系列的封装
开发语言·c++·stl·unordered系列
zh_xuan1 小时前
kotlin lazy委托异常时执行流程
开发语言·kotlin
sino爱学习1 小时前
高性能线程池实践:Dubbo EagerThreadPool 设计与应用
java·后端
阿猿收手吧!1 小时前
【C++】string_view:高效字符串处理指南
开发语言·c++
风生u2 小时前
activiti7 详解
java
玄同7652 小时前
我的 Trae Skill 实践|使用 UV 工具一键搭建 Python 项目开发环境
开发语言·人工智能·python·langchain·uv·trae·vibe coding