Java使用PUT提交请求错误码400及415解决方案

2024-02-24 03:48

本文主要是介绍Java使用PUT提交请求错误码400及415解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

        • 0. 初始状态
        • 1. 请求报错 `400` Required int parameter 'id' is not present
        • 2. `415` 不支持 'application/x-www-form-urlencoded;charset=UTF-8
        • 3. `400` Unrecognized token 'id': was expecting ('true', 'false' or 'null')
        • 4. delete操作


0. 初始状态
  • 前端
<script>$("#btn").on("click", function (e) {$.ajax({url: "/xxx",type: "put",data: {'id': 1,'name': '你猜'}})});
</script>
  • 后端
 @PutMapping("/test")public String updateTaskCordName(@RequestParam(name="id") int id, @RequestParam(name="name") String name) {//业务代码
}
1. 请求报错 400 Required int parameter ‘id’ is not present
  • 问题描述
error: "Bad Request"
message: "Required int parameter 'id' is not present"
path: "/test"
status: 400
  • 解决方案 更改后端代码
 @PutMapping("/test")public String updateTaskCordName(@RequestBody Map<String, String> map) {Integer id = Integer.parseInt(map.get("id"));String name = map.get("name");//业务代码
}
2. 415 不支持 'application/x-www-form-urlencoded;charset=UTF-8
  • 问题描述
    error: "Unsupported Media Type"
    message: "Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported"
    path: "/test"
    status: 415
    
  • 解决方案
    ajax 请求添加配置参数 contentType: "application/json; charset=utf-8",
    即,前端
    <script>$("#btn").on("click", function (e) {$.ajax({url: "/xxx",type: "put",contentType: "application/json; charset=utf-8",data: {'id': 1,'name': '你猜'}})});
    </script>
    
3. 400 Unrecognized token ‘id’: was expecting (‘true’, ‘false’ or ‘null’)
  • 问题描述
    error: "Bad Request"
    message: "JSON parse error: Unrecognized token 'id': was expecting ('true', 'false' or 'null'); nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'id': was expecting ('true', 'false' or 'null')↵ at [Source: (PushbackInputStream); line: 1, column: 4]"
    path: "/taskCord"
    status: 400
    
  • 解决方案 data参数调用 JSON.stringify()函数
    <script>$("#btn").on("click", function (e) {$.ajax({url: "/xxx",type: "put",contentType: "application/json; charset=utf-8",data: JSON.stringify({'id': 1,'name': '你猜'})})});
    </script>
    

附:

4. delete操作
@DeleteMapping("/db/{id}")
public String deleteById(@PathVariable(name="id") int id) {//业务代码
}
<script>$("#btn").on("click", function (e) {$.ajax({url: "/db"+1,type: "delete"	          })});
</script>

Spring Boot Rest访问示例

这篇关于Java使用PUT提交请求错误码400及415解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/740855

相关文章

使用FileChannel实现文件的复制和移动方式

《使用FileChannel实现文件的复制和移动方式》:本文主要介绍使用FileChannel实现文件的复制和移动方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录使用 FileChannel 实现文件复制代码解释使用 FileChannel 实现文件移动代码解释

Spring实现Bean的初始化和销毁的方式

《Spring实现Bean的初始化和销毁的方式》:本文主要介绍Spring实现Bean的初始化和销毁的方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Bean的初始化二、Bean的销毁总结在前面的章节当中介绍完毕了ApplicationContext,也就

Java的"伪泛型"变"真泛型"后对性能的影响

《Java的伪泛型变真泛型后对性能的影响》泛型擦除本质上就是擦除与泛型相关的一切信息,例如参数化类型、类型变量等,Javac还将在需要时进行类型检查及强制类型转换,甚至在必要时会合成桥方法,这篇文章主... 目录1、真假泛型2、性能影响泛型存在于Java源代码中,在编译为字节码文件之前都会进行泛型擦除(ty

Java中的getBytes()方法使用详解

《Java中的getBytes()方法使用详解》:本文主要介绍Java中getBytes()方法使用的相关资料,getBytes()方法有多个重载形式,可以根据需要指定字符集来进行转换,文中通过代... 目录前言一、常见重载形式二、示例代码三、getBytes(Charset charset)和getByt

Java使用Stream流的Lambda语法进行List转Map的操作方式

《Java使用Stream流的Lambda语法进行List转Map的操作方式》:本文主要介绍Java使用Stream流的Lambda语法进行List转Map的操作方式,具有很好的参考价值,希望对大... 目录背景Stream流的Lambda语法应用实例1、定义要操作的UserDto2、ListChina编程转成M

Spring框架中@Lazy延迟加载原理和使用详解

《Spring框架中@Lazy延迟加载原理和使用详解》:本文主要介绍Spring框架中@Lazy延迟加载原理和使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、@Lazy延迟加载原理1.延迟加载原理1.1 @Lazy三种配置方法1.2 @Component

使用easy connect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题

《使用easyconnect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题》:本文主要介绍使用easyconnect之后,maven无法... 目录使用easGWowCy connect之后,maven无法使用,原来需要配置-DJava.net.pr

idea报错java: 非法字符: ‘\ufeff‘的解决步骤以及说明

《idea报错java:非法字符:‘ufeff‘的解决步骤以及说明》:本文主要介绍idea报错java:非法字符:ufeff的解决步骤以及说明,文章详细解释了为什么在Java中会出现uf... 目录BOM是什么?1. BOM的作用2. 为什么会出现 \ufeff 错误?3. 如何解决 \ufeff 问题?最

使用Java编写一个字符脱敏工具类

《使用Java编写一个字符脱敏工具类》这篇文章主要为大家详细介绍了如何使用Java编写一个字符脱敏工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、字符脱敏工具类2、测试工具类3、测试结果1、字符脱敏工具类import lombok.extern.slf4j.Slf4j

Java实现按字节长度截取字符串

《Java实现按字节长度截取字符串》在Java中,由于字符串可能包含多字节字符,直接按字节长度截取可能会导致乱码或截取不准确的问题,下面我们就来看看几种按字节长度截取字符串的方法吧... 目录方法一:使用String的getBytes方法方法二:指定字符编码处理方法三:更精确的字符编码处理使用示例注意事项方