AJAX发送对象参数及Spring 4.3----@GetMapping, @PostMapping, @PutMapping, @DeleteMapping)

2023-11-08


前言

Spring4.3中引进了@RestController,@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping 来帮助简化常用的HTTP方法的映射 并更好地表达被注解方法的语义

@RestController 是@Controller和@ResponseBody的组合注解 注意:使用这个就不会在进入视图解析器

@GetMapping: 处理get请求,相当于@RequestMapping(value = “/get/{id}”, method = RequestMethod.GET)
新方法可以简写为:@GetMapping(“/{id}”)

@PostMapping: 处理post请求,相当于@RequestMapping(value = “/get/{id}”,method = RequestMethod.POST)
新方法可以简写为:@PostMapping(“{id}”)

@PutMapping: 和PostMapping作用等同,都是用来向服务器提交信息。如果是添加信息,倾向于用@PostMapping,如果是更新信息,倾向于用@PutMapping,两者差别不是很明显。

@DeleteMapping: 这个主要用与数据的删除

@PatchMapping: 和putMapping都是用与更新,不过put更新的是整体 Patch是局部

一、用法

@GetMapping

jsp页面:druginfo为路径 id为参数

$.ajax({
        type:"get",
        dataType:"json",
        url:"/Region/" + id,
        success:function (data) {
            $.each(data, function (name, value) {
                
            })
        }
    });

发送多个参数 有两个方法

  1. url这样写 url:"/Region/" ,{params:{xx,xx}},
    params 不能变
    {xx,xx}:这个里面写JSON格式的参数

2.就有点麻烦,先把多个参数写JSON格式,使用JSON.stringify()转成字符串,是字符串后就跟上面是一样的看了 ,后台把转字符串转成map就欧克了

Controller层

每一个Controller中只能有一个相同的@GetMapping 且必须要用@PathVariable(“id”)接收

@RestController
@RequestMapping("/Region")
public class RegionController {

    @GetMapping("/{id}")
    public void getMapper(@PathVariable("id") Integer id)
    {
        System.out.println(id);

    }

二、@PostMapping 可以多个参数比如对象 Map …等

**jsp页面:druginfo为路径 id为参数 如果要传对象 Map时一定要把转成JSON格式JSON.stringify(data) contentType=“application/json;charset=utf-8” **

var data= {name:"ss",pwd:"123"}
    $.ajax({
        type:"post",
        dataType:"json",
        contentType: "application/json;charset=utf-8",
        url:"/Region",
        data:JSON.stringify(data),
        "success":function (data) {

        }
    });

Controller层

和GetMapping一样不能有相同的不然会不知道你要找那一个 如果要接收对象 Map @RequestBody必须写

@RestController
@RequestMapping("/Region")
public class RegionController {

    @PostMapping
    public void s(@RequestBody Region region)
    {
        System.out.println(region);

    }
}

总结

@PutMapping与@PostMapping用法类似常用与修改
@DeleteMapping与@GetMapping用法类似常用与删除

@PutMapping()、@PostMapping()、@DeleteMapping()、@GetMapping()
括号里面一样可以加路径的 当你写了一个@GetMapping后 你还想写一个 只需要在括号里加路径再加参数就行了

当使用时发现404 415时 去检查下SpringMvc配置文件 中有没有 mvc:annotation-driven或者你的contentType是不是等于"application/json;charset=utf-8" 这个没有会导致415 置于404 主要是spring整合有问题。

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

AJAX发送对象参数及Spring 4.3----@GetMapping, @PostMapping, @PutMapping, @DeleteMapping) 的相关文章

随机推荐

  • python基础知识三——try与except处理异常语句

    try except介绍 与其他语言相同 在python中 try except语句主要是用于处理程序正常执行过程中出现的一些异常情况 如语法错 python作为脚本语言没有编译的环节 在执行过程中对语法进行检测 出错后发出异常消息 数据除
  • 汇编 - ORG指令详解

    ORG指令 ORG是Origin的缩写 起始地址 源 在汇编语言源程序的开始通常都用一条ORG伪指令来实现规定程序的起始地址 如果不用ORG规定则汇编得到的目标程序将从0000H开始 例如 ORG 2000H START MOV AX 00
  • 使用python批量修改文件名

    使用python对文件名进行批量修改 使用split方法对原文件名进行切分 选择需要的部分进行保留做为新的文件名 也可添加字段 函数说明 split 函数 语法 str split str num string count str n 参数
  • 十六进制串口发送

    字符串转化为十六进制 让串口发送数据 int hexdata lowhexdata unsigned short int hexdatalen 0 unsigned char hexdatalenH8 hexdatalenL8 int le
  • Math类的常用方法

    在本篇文章种 我使用Type就意味着这个是类型的可变的 可以是int 也可以是double long float 1 取绝对值Math abs Type number 返回值是你传入的类型 2 向上取整Math ceil double nu
  • Element Plus 全局修改组件默认属性

    main js 这里已修改ElSelect为示例 import ElementPlus ElSelect from element plus ElSelect props clearable type Boolean default tru
  • SpringBoot集成dynamic-datasource实现多数据源自动注入

    springboot在集成dynamic datasource后配置多数据源其实还是很简单的 pom依赖
  • requests.exceptions.SSLError 请求异常,SSL错误,证书认证失败问题解决

    请求异常 SSL错误 证书认证失败解决方法 在爬取一些网站的数据时 有时候会碰到以下报错 requests exceptions SSLError HTTPSConnectionPool host martin audio com port
  • postman工具批量调用接口

    1 先在Collections中建一个文件夹 然后新建一个接口保存 2 然后选择Run 3 准备一个txt文件 增加要循环的参数json数组 4 选择接口 上传文件 配置参数 Iterations为线程数 Delay为推迟多久 然后点下面的
  • 3Dgame_homework8

    3D游戏 作业8 简单粒子制作 要求 相关理论 粒子系统 Unity 粒子系统 拟物控制 制作过程 准备 实现 光 光晕 星光 制作结果与控制 简单粒子制作 要求 按参考资源 Unity3d Particle System 系统的学习 三
  • Discuz! X3.4:若检测到未登录,返回提示登录链接

    if trim G username return lt lt
  • Java8中 Date和LocalDate的相互转换

    一 简述 Date对象表示特定的日期和时间 而LocalDate Java8 对象只包含没有任何时间信息的日期 因此 如果我们只关心日期而不是时间信息 则可以在Date和LocalDate之间进行转换 二 Date转LocalDate 如果
  • linux svn 修改回退,玩转SVN-版本回退

    当我们想放弃对文件的修改 可以使用 SVN revert 命令 svn revert 操作将撤销任何文件或目录里的局部更改 我们对文件 readme 进行修改 查看文件状态 root runoob svn runoob01 trunk sv
  • Python之模块打包

    1 什么是模块打包 模块打包目的是让自己开发的功能能够实现共享 供给他人使用 包管理索引平台 Python Package Index 2 怎么打包 tar gz格式 这个就是标准压缩格式 里面包含了项目元数据和代码 可以使用Python
  • 2021.06.15

    括号生成 力扣 方法 回溯 回溯算法框架 result def backtrack 路径 选择列表 if 满足结束条件 result add 路径 return for 选择 in 选择列表 做选择 backtrack 路径 选择列表 撤销
  • DeBruijin 【HDU - 2894】【欧拉回路】

    题目链接 可以说这题是着实有趣了 题意 我们给出一个K 现在我们想最多的表示从 的数 也就是00 0 11 1 0 1都是K个 譬如说K 3 我们可以用字典序最小的 00010111 按顺序的用二进制表示 000 001 010 101 0
  • github Page博客速度优化+Cloudflare_https两端配置+解决重定向次数过多问题

    网站加速调优 自从加了CDN之后我的博客偶尔会报错 重定向次数过多 症状 XXX XXX XXX 将您重定向的次数过多 尝试清除 Cookie ERR TOO MANY REDIRECTS 可能原因 参考阿里云cdn解决方案https he
  • Spark机器学习实例

    2020 07 09 引言 Learning Spark 过程中只是简单介绍了mllib中的东西 没有一个完整的实践过程 暂时还没有去找有没有专门做这种的书 好像我看 spark in action 是有这部分内容 后续在看 本篇文章就利用
  • BERT:深度双向预训练语言模型

    论文标题 BERT Pre training of Deep Bidirectional Transformers for Language Understanding 论文链接 https arxiv org abs 1810 04805
  • AJAX发送对象参数及Spring 4.3----@GetMapping, @PostMapping, @PutMapping, @DeleteMapping)

    前言 Spring4 3中引进了 RestController GetMapping PostMapping PutMapping DeleteMapping PatchMapping 来帮助简化常用的HTTP方法的映射 并更好地表达被注解