JSON - Spring MVC:如何将 json 数据发布到 spring MVC 控制器

2023-11-22

我在发布 JSON 数据时遇到问题jsp to controller。每次我尝试都会收到 ajax 错误Bad Request。我对 JSON 很陌生,我真的不知道我做错了什么。我搜索并尝试了一些可以在该网站中找到的示例,但仍然遇到问题。

在我的控制器中:

@RequestMapping (method = RequestMethod.POST, headers ={"Accept=application/json"}, value = "/form")
public String postJournalEntry (@RequestParam ("json") String json, Model model) {
    System.out.println(json);
    return "successfullySaved";
}

在我的jsp中:

$("#btnPostGlEntry").click(function () {
    var glEntries = '{"glEntries":[{"generalLedgerId":"1"},{"accountId":"4"},{"amount":"344.44"},{"description":"Test Entry"},{"debit":"Yes"}]}';
    $.ajax({
        type: "POST",
        contentType: "application/json",
        dataType: "json",
        url: contextPath + "/generalLedger/journalEntries/form",
        data : JSON.stringify(glEntries),
        success: function(data) {
            alert("Success!!!");
        },
        error: function (jqXHR, textStatus, errorThrown) {
            alert(jqXHR + " : " + textStatus + " : " + errorThrown);
        }
    });
});

注意:我什至不确定控制器中的功能是否正确。我认为我的控制器和ajax 是错误的。请帮忙。


如果您希望将 JSON 反序列化为某个类,那么您必须定义这样的方法(并且不要忘记添加 jsonConverter,如前面的答案所示):

.... method(@RequestBody MyClass data){ ... }

但是,如果您希望您的方法接受 JSON 作为字符串,那么可以这样做:

.... method(@RequestBody String json){ ... }

因此,基本上,如果您发布 JSON,则意味着 JSON 不是参数,而是请求正文。最终你必须使用@RequestBody注释,而不是@RequestParam。

您可以在这里找到 Spring Mvc 和 JSON 的精美视频教程:site.google.com/site/upida4j/example

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSON - Spring MVC:如何将 json 数据发布到 spring MVC 控制器 的相关文章

随机推荐

  • 以类型安全的方式处理 PropertyChanged

    有很多文章介绍如何使用反射和 LINQ 以类型安全的方式引发 PropertyChanged 事件 而不使用字符串 但有什么办法可以consumePropertyChanged 事件以类型安全的方式发生 目前 我正在这样做 void mod
  • 有没有办法从某种类型的 JSON.NET JObject 中删除节点?

    我有一个从 API 返回的 JSON 对象 其中一些节点是数组 有什么方法可以让我完全根据 类型 将它们从对象中提取出来吗 例如 result field1 value1 field2 val2 val3 field3 val4 field
  • laravel 自动删除 php artisanserve 上的 server.php

    我在 Windows 环境中使用 laravel 5 6 使用 php 7 2 与 xampp 一起安装 安装 laravel 后 php artisanserve 命令可以工作 但会自动删除 server php 文件 只是为了避免这个问
  • 如何设置 openai-gym 环境以特定状态而不是“env.reset()”开始?

    今天 当我尝试在openai gym环境下实现一个rl agent时 我发现一个问题 似乎所有的agent都是从最初始的状态开始训练的 env reset i e import gym env gym make CartPole v0 in
  • 我需要一些有关 HTML 中嵌套列表的指导 我有一个布局 我想像下面这样构建 嵌套一个未被包裹的元素是一件可怕的事情吗 li 我相当确定它不符合标准 但不知道它会产生什么不良影响 ul li h1 header 1 h1 li li ul
  • Mongoose 将存储的 UTC 日期转换为本地时间?

    我想知道这是否正常 或者我是否在架构设置或查询过程中遗漏了某些内容 我的应用程序和猫鼬在 mongodb 中正确存储了 UTC 日期 通过 mongo shell 查看文档可以确认这一点 当我通过 mongoose 从 mongodb 检索
  • 在 SQL Server 中将 varchar 转换为 uniqueidentifier

    我无法控制其架构的表包含定义为 varchar 50 的列 该列以 a89b1acd95016ae6b9c8aabb07da2010 格式存储唯一标识符 无连字符 我想将它们转换为 SQL 中的唯一标识符 以便传递给 Net GUID 但是
  • 在 Spring MVC 中从控制器查找区域设置

    我正在使用 Spring 3 0 如何在基于注释的控制器中找到由 LocaleResolver 设置的当前区域设置 Thanks 您可以声明类型的参数Locale在你的控制器方法中 RequestMapping public ModelAn
  • 使用 Java API 将 Parquet 格式写入 HDFS,而不使用 Avro 和 MR

    简单的写法是什么实木复合地板格式 to HDFS 使用Java API 通过直接创建 Parquet SchemaPojo 的 不使用avro and MR 我发现的示例已经过时 并且使用已弃用的方法 还使用 Avro spark 或 MR
  • 应用程序池和工作进程线程之间有什么关系?

    我正在对 ASP NET 应用程序中的重新启动进行故障排除 该应用程序每天重新启动大约 20 次 我们强烈怀疑应用程序的一部分 因为当这一特定功能投入生产时 重启就开始了 我已经使用 log4net 库向这些页面添加了一些日志记录 但我在解
  • 将文本附加到 RichTextBox 的最快方法?

    我有一个带有 RichTextBox 控件的应用程序 其中的过程几乎总是添加文本 RichTextBox1 Text vbNewLine Title AlbumName RichTextBox1 Text vbNewLine Genre A
  • 序数编码或 One-Hot 编码

    如果我们不确定分类特征的性质 例如它们是名义特征还是序数特征 我们应该使用哪种编码 序数编码还是单热编码 关于这个主题有明确的规则吗 我看到很多人在没有方向的分类数据上使用序数编码 假设有一个频数表 some data some col v
  • Swift 中开关盒的详尽条件

    苹果文档 says 每个 switch 语句都必须是详尽的 也就是说 每一个可能的 正在考虑的类型的值必须与其中之一匹配 切换案例 所以在新的 Xcode 中我放置了这样的代码 println UInt16 min Output 0 pri
  • C# 通过 T 的成员对列表 进行二进制搜索

    我有一个基类Event with a DateTime member TimeStamp 许多其他事件类将从中派生 我希望能够快速搜索事件列表 因此我想使用二分搜索 列表数据按时间戳排序 但同时发生的事件可能存在重复的时间戳 所以我开始写这
  • Node.js MySQL 模块 - 抛出错误; // 重新抛出非 MySQL 错误;

    今天我尝试了来自 w3schools 的 node js mysql 片段 var mysql require mysql var con mysql createConnection host localhost user roots W
  • 如何在 Coq 中使用归纳类型来处理案例

    我想使用destruct通过案例来证明陈述的策略 我在网上读了几个例子 但我很困惑 有人可以更好地解释一下吗 这是一个小例子 还有其他方法可以解决它 但尝试使用destruct Inductive three zero one two Le
  • Visual Studio C++ 是否可以在不链接的情况下编译对象

    我正在运行 VS 2010 SP1 并且有一个每周运行一次的特殊分析配置 因为构建服务器需要很长时间来分析所有内容 我希望此配置无需链接即可运行 如果分析通过了项目中的所有代码 那么我希望构建继续进行下一个项目而不链接 我看不出有什么方法可
  • Python套接字接受块-防止应用程序退出

    我编写了一个非常简单的 python 类 它等待套接字上的连接 目的是将此类粘贴到现有应用程序中 并将数据异步发送到连接的客户端 问题是 当等待 socket accept 时 我无法通过按 ctrl c 来结束我的应用程序 我也无法检测到
  • JDBC 到 Spark Dataframe - 如何确保均匀分区?

    我是 Spark 新手 正在致力于通过 JDBC 从 Postgres 数据库表创建 DataFrame 使用spark read jdbc 我对分区选项有点困惑 特别是分区列 下界 上限 and 分区数 文档似乎表明这些字段是可选的 如果
  • JSON - Spring MVC:如何将 json 数据发布到 spring MVC 控制器

    我在发布 JSON 数据时遇到问题jsp to controller 每次我尝试都会收到 ajax 错误Bad Request 我对 JSON 很陌生 我真的不知道我做错了什么 我搜索并尝试了一些可以在该网站中找到的示例 但仍然遇到问题 在