SpringBoot接收前端参数json格式的五种方式

2023-11-15

import java.util.List;
import java.util.Map;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSONObject;

@RestController
public class HelloController2 {

    /*
     * 第一种:以RequestParam接收
     * http://localhost:8080/test1?id=1
     * */
    @RequestMapping(value = "/test1",method=RequestMethod.GET)
    public void test1(@RequestParam("id") String id){
        System.out.println("id:"+id);    
    }
    
    /*
     * 第二种:以实体类接收
     * {"username": "zhangsan","id":"2"}
     * */
    @RequestMapping(value = "/test2",method=RequestMethod.POST)
    public void test1(@RequestBody User user) throws Exception{
        System.out.println("username:"+user.getUsername());    
    }
    
    /*
     * 第三种:以Map接收
     * {"username": "zhangsan","id":"2"}
     * */
    @RequestMapping(value = "/test3",method=RequestMethod.POST)
    public void test3(@RequestBody Map<String, String> map) throws Exception{
        System.out.println("username:"+map.get("username"));    
    }
    
    /*
     * 第四种:以List接收
     * [{"username": "zhangsan","id":"2"},{"username": "lisi","id":"1"}]
     * */
    @RequestMapping(value = "/test4",method=RequestMethod.POST)
    public void test4(@RequestBody List<User> list) throws Exception{
        for(User user:list){
            System.out.println("username:"+user.getUsername());
        }
    }
    
    /*
     * 第五种:以JSON对象接收
     * {"username": "zhangsan","id":"2","role":{"rolename":"admin"}}
     * */
    @RequestMapping(value = "/test5",method=RequestMethod.POST)
    public void test5(@RequestBody JSONObject json) throws Exception{
        System.out.println("username:"+json.getString("username"));    
        System.out.println("rolename:"+json.getJSONObject("role").getString("rolename"));
    }
}

 

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

SpringBoot接收前端参数json格式的五种方式 的相关文章

随机推荐

  • MySQL必知必会 学习笔记 第十二章 汇总数据

    聚集函数是运行在行组上 计算和返回单个值的函数 对表中数据而非实际数据本身进行汇总 如获取行数 获取某列最值等 除上述函数外 MySQL还支持标准偏差聚集函数 返回某列平均值 SELECT AVG columnName AS avgVal
  • js 文件与文件流之间互换

    直接看代码
  • 梯度优化_神经网络中的梯度优化算法(三)

    Nadam Nadam Nesterov accelerated Adaptive Moment Estimation 结合了Adam和NAG的梯度优化方法 为了将NAG方法融入Adam 需要修改下Adam的momentum项 回顾mome
  • 五子棋小游戏 java版(代码+详细注释)

    游戏展示 这周闲来无事 再来写个五子棋小游戏 基本功能都实现了 包括人人对战 人机对战 界面布局和功能都写的还行 没做到很优秀 但也不算差 如有需要 做个java初学者的课程设计或者自己写着玩玩也都是不错的 非常简单 小白照着就能写出来 完
  • 【JS基础】Number、布尔值、Null和Undefined

    Number 在JS中所有的数值都是Number类型 包括整数和浮点数 小数 区分Number和String typeof console log typeof a 使用Number MAX VALUE 表示数字的最大值 如果超过最大值 则
  • 存储过程相关

    在sybase数据库中检查存储过程是否存在 如存在就删除表记录 如不存在就创建 if exists select 1 from sysobjects where id object id K FY P EncodeQqTitle name
  • QT中的线程与事件循环理解(1)

    1 需要使用多线程管理的例子 一个进程可以有一个或更多线程同时运行 线程可以看做是 轻量级进程 进程完全由操作系统管理 线程即可以由操作系统管理 也可以由应用程序管理 Qt 使用QThread 来管理线程 QWidget widget ne
  • 【Linux常见指令1】

    目录 前言 常用指令 ls指令 whoami pwd cd touch 触摸 mkdir make directory rmdir rm remove mv move 移动 cp copy 拷贝 stat 统计 nano echo gcc
  • 创建计划行确认数量为0的销售订单

    需求 通过BAPI函数创建销售订单 并且计划行里的确认的数量为0 解决方法 使用BAPI BAPI SALESORDER CREATEFROMDAT2创建SO后 再使用函数 SD BACKORDER UPDATE 对确认的数量进行修改 ti
  • 正割函数(sec)

    1 定义 正割与余弦互为倒数 余割与正弦互为倒数 即 sec
  • js获取数组中最大最小值及对应索引值(下标)

    1 使用原生Js实现该功能 主要是通过循环实现 getMaxMin data key gt if data return false let maxIndex 0 let minIndex 0 let maxNum data 0 key 0
  • 蓝桥杯每日一题——填空题·顺子日期

    本题为填空题 只需要算出结果后 在代码中使用输出语句将所填结果输出即可 小明特别喜欢顺子 顺子指的就是连续的三个数字 123 456 等 顺子日期指的就是在日期的 yyyymmdd 表示法中 存在任意连续的三位数是一个顺子的日期 例如 20
  • 惊:FastThreadLocal吞吐量居然是ThreadLocal的3倍!!!

    说明 接着上次手撕面试题ThreadLocal 面试官一听 哎呦不错哦 本文将继续上文的话题 来聊聊FastThreadLocal 目前关于FastThreadLocal的很多文章都有点老有点过时了 本文将澄清几个误区 很多文章关于Fast
  • 读取excel中的url链接下载图片并生成新excel保存图片

    1 在实际使用问卷星对班级的学生的健康码 核算记录 行程码进行统计时 导出的excel里是链接而非图片 但是上级要求上交的excel必须是图片为解决该问题 通过以下的main方法解决了该问题 package com changshin im
  • 'react-scripts' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 error Command failed with exit code 1.aPritice\\JieDe\\e

    本地使用create react app脚手架新建项目 因为下载了其他的包 改了一些文件 可能对这个项目的启动项产生了影响 导致包不全了 运行react项目时 报错 react scripts 不是内部或外部命令 也不是可运行的程序 或批处
  • 论文笔记——HRFormer

    摘要 本文提出了一种高分辨率Transformer HRFomer 它在密集的预测任务中学习高分辨率表示 而原来的Vison Transformer则产生低分辨率表示 具有高内存和计算成本 作者利用了高分辨率卷积网络 HRNet 中引入的多
  • C#基础(字符串拼接)

    字符串拼接方式1 之前的算术运算符 只是用来数值类型变量进行数学运算的 而 string 不存在算术运算符 不能计算 但是可以通过 号来进行字符串拼接 用 号来进行字符串拼接 str str 456 复合运算符 str 1 4 true s
  • 群晖虚拟机部署线上恋爱网站

    文章目录 前言 1 安装网页运行环境 1 1 安装php 1 2 安装webstation 2 下载网页源码文件 2 1 访问网站地址并下载压缩包 2 2 解压并上传至群辉NAS 3 配置webstation 3 1 配置网页服务 3 2
  • 关于电子设计大赛

    一年一度的电子设计大赛选拔赛开始了 作为参加两年的选手还是很有感悟 下面我简单从电赛是什么和经验教训谈论一下 电赛全称全国大学生电子设计大赛 它国赛和省赛交叉进行 是衡量大学生电子设计能力的重要平台 也是用人单位评价别人的基础之一 比赛时间
  • SpringBoot接收前端参数json格式的五种方式

    import java util List import java util Map import org springframework web bind annotation RequestBody import org springf