关于RestTemplate postForObject方法请求 服务端Controller接受不到值的问题解决

简介: 关于RestTemplate postForObject方法请求 服务端Controller接受不到值的问题解决
本文适合有SSM框架基础和springboot开发基础的同学查阅

这里postForObject 方法有三个参数,没有使用四个参数的。


restTemplate.postForObject(String url, Object request, Class<T> responseType);


1.String url => 顾名思义 这个参数是请求的url路径。


2.Object request => 请求的body 这个参数需要再controller类用 @RequestBody 注解接收


3.Class<T> responseType => 接收响应体的类型


private static final String REST_URL_PREFIX = "http://localhost:8001";

@Autowired
RestTemplate restTemplate;
发送请求的controller方法
@RequestMapping(value = "/update", method = RequestMethod.POST)
public String update(User user) {
    return restTemplate.postForObject(REST_URL_PREFIX+"/cloud/update", user, String.class);
} 
接受请求的controller方法
@RestController 
@RequestMapping("/cloud") 
public class UserController {
  //这里一定要用@RequestBody 注解接收--Controller接受不到值的根本原因
  @RequestMapping(value = "/update", method = RequestMethod.POST)
  public String update(@RequestBody User user) {
      if(user.getId() == null){
          return "传值为空";
      }else if (userService.update(user)) {
        return "修改成功";
      } else {
          return "修改失败";
      }
  }

成功返回

如果不使用@RequestBody注解,则接受不到传值

@RequestMapping(value = "/update", method = RequestMethod.POST)
public String update(User user) {
    if(user.getId() == null){
        return "传值为空";
    }else if (userService.update(user)) {
        return "修改成功";
    } else {
        return "修改失败";
    }
}

 


目录
相关文章
深入探究Camunda监听器
执行监听器与任务监听器
2368 1
深入探究Camunda监听器
|
Java Spring 容器
解决Spring的UnsatisfiedDependencyException异常的方法
在Spring开发中,UnsatisfiedDependencyException异常意味着依赖注入失败,影响应用稳定性。该异常由Spring容器在无法满足bean依赖时抛出,常见原因包括bean定义错误、循环依赖、多个候选bean等。解决方法包括:检查bean定义和注入的正确性、解决循环依赖、确认依赖包的兼容性、使用@Qualifier或@Primary注解。通过日志、调试工具和异常对比来定位问题。持续学习Spring框架有助于更好地解决此类异常。
11087 11
|
4月前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
49379 72
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
4月前
|
Java 测试技术 API
CompletableFuture 异步编程全解:核心能力、编排方案、异常处理与超时控制
本文深入解析Java异步编程核心工具CompletableFuture:涵盖底层原理(接口实现、线程模型、状态流转)、40+核心API用法(任务创建、串行转换、扁平化thenCompose、双/多任务编排),并详解生产级方案——异常处理、超时控制、电商订单页实战及五大避坑指南,助你写出高性能、高可靠异步代码。
586 1
|
5月前
|
人工智能 架构师 API
生产级AI架构实战:Claude架构师五维能力+OpenClaw多Agent部署配置攻略教程
2026年,AI架构已经从简单对话走向规模化、工程化、可落地的生产级系统。Claude架构师认证所定义的五大核心能力领域,不仅是考试要点,更是构建企业级AI应用、多智能体协同、自动化工作流、高可靠服务的真实标准。与此同时,OpenClaw(Clawdbot)作为轻量化、可扩展、本地优先的AI执行框架,完美承接这些架构理念,让个人与团队快速搭建稳定、高效、可维护的智能体系统。
1371 1
|
人工智能 Java API
Spring AI 实战|Spring AI入门之DeepSeek调用
本文介绍了Spring AI框架如何帮助Java开发者轻松集成和使用大模型API。文章从Spring AI的初探开始,探讨了其核心能力及应用场景,包括手动与自动发起请求、流式响应实现打字机效果,以及兼容不同AI服务(如DeepSeek、通义千问)的方法。同时,还详细讲解了如何在生产环境中添加监控以优化性能和成本管理。通过Spring AI,开发者可以简化大模型调用流程,降低复杂度,为企业智能应用开发提供强大支持。最后,文章展望了Spring AI在未来AI时代的重要作用,鼓励开发者积极拥抱这一技术变革。
4603 71
Spring AI 实战|Spring AI入门之DeepSeek调用

热门文章

最新文章