解析json格式请求返回500状态码的异常
异常描述:
(1)响应信息:
(2)请求信息:
(3)服务器中解析json所依赖的类的信息以及处理请求的逻辑
class Bedroom {public String desk;public String bed;
}class Home {public String livingRoom;public String kitchen;public Bedroom bedroom;
}@WebServlet("/json")
public class JsonServlet extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//1.创建核心类ObjectMapper objectMapper = new ObjectMapper();//2.通过readValue读取json格式数据并存于对象中Home home = objectMapper.readValue(req.getInputStream(), Home.class);//3.通过writeValueAsString方法返回json格式的字符串并返回给客户端resp.setContentType("application/json; charset=utf8");System.out.println(objectMapper.writeValueAsString(home));resp.getWriter().write(objectMapper.writeValueAsString(home));}
}
分析错误:
分析错误原因之前我们需要认识一下状态码500:
500状态码:
当服务器内部出现错误,一般是服务器代码执行过程中遇到了一些异常或崩溃时会返回500状态码。
错误原因:
由上面的错误提示信息以及请求body与类信息可知错误原因是请求body的json格式的信息与类不匹配。如果发送的请求body是json格式,那么body中的键值对中的键必须与服务器中所对应的类的属性一一对应,否则就会导致服务器出现异常,返回500状态码信息,而且这个异常tomcat并不会提示出来,这就比较坑。这里的body中的be在服务器的类中没有对应的,导致服务器执行过程中出现异常因此返回500状态码。
问题解决:
把错误的json数据改为与服务器类属性一一对应的正确形式即可
解析json格式请求返回500状态码的异常相关推荐
- axios发送post请求返回400状态码
axios发送post请求返回400状态码 今天在用 axios 发送一个跨域的post请求时,遇到了一个坑:Uncaught (in promise) Error: Request failed w ...
- get请求400错误 vue_解决axios发送post请求返回400状态码的问题
今天在用 发送一个跨域的post请求时,遇到了一个坑:uncaught (in promise) error: request failed with status code 400. 前台代码如下: ...
- nginx php返回500错误,解决Nginx服务返回500状态码问题
文章目录 [隐藏] 发现问题 分析并解决问题 最近鼓捣博客服务器,不经意间误操作改了一些目录的用户组及权限,导致博客文件上传功能失败,周末检查了一天依然没有解决问题,在不经意间意识到了问题所在,其实有 ...
- 接口请求返回的状态码总览
HTTP状态码(英语:HTTP Status Code),用以表示网页服务器超文本传输协议响应状态的3位数字代码. 作用:服务器告诉客户端当前请求响应的状态,通过状态码就能判断和分析服务器的运行状态 ...
- php返回500状态码,如何解决ThinkPHP5 HTTP状态码500
在一次 ThinkPHP5 项目部署的时候,环境为Linux服务器.前端Vue项目通过Axios访问 接口,一直走catch的逻辑.直接在浏览器请求接口能返回正常数据,但是通过Chrome浏览器查看请 ...
- java 304_分析HTTP请求返回304状态码
大家好,今天给大家分享一个状态码304,大家可能在以前的开发中打开chrome tools 或 firebug工具时有意间或无意间看到它. HTTP 304: Not Modified 标准解释是:N ...
- Postman测试http请求返回415状态码的解决
首先记录一下返回结果 <!doctype html> <html lang="en"> <head><title>HTTP Stat ...
- HTTP请求返回304状态码
转自:https://blog.csdn.net/itpinpai/article/details/48181849 大家好,今天给大家分享一个状态码304,大家可能在以前的开发中打开chrome t ...
- 接口请求返回400状态码,后端代码报错: java.lang.IllegalArgumentException: Invalid character found in the request targ
一. 错误原因: 当在浏览器中访问时 URL中带有特殊字符,如花括号冒号时,就会出现这个错误. 例如:http://localhost:8080/index.do?{id:123} 二. 解决办法 1 ...
最新文章
- 关于XGMII/XLGMII/CGMII
- 【Ubuntu】在Ubuntu中设置永久的DNS
- IIS弹出服务没有及时响应启动或控制请求
- ​TA们划重点的时候到了:什么是实例工作流?
- 商业版《隋唐演义》三:收购瓦岗寨
- 一种快速的未登陆词识别方法(原理和实现)
- python设计模式(二十二):策略模式
- 无法识别设备powerstate_win7系统无法识别usb设备如何解决 电脑无法识别usb设备解决步骤【图文】...
- spark学习——(一)spark简介
- VMware 和 linux镜像文件
- 智汀指南:如何搭建摄像头远程监控系统?如何用手机远程监控摄像头?
- 李少白讲摄影-不放过一切光线地坛书市新书首发圆满结束
- 看华为生态大学 如何玩转人才生态?
- 台式计算机没有声音怎么办,台式电脑没声音怎么回事_台式机电脑没有声音如何解决...
- 个人公众号成长记 - 你为什么要做公众号呢?
- 你不知道的电脑36个小技巧(纪念2011教师节)
- html模态框常见问题,模态框无法弹出的问题
- Typora初步学习
- 异贝,通过移动互联网技术,为中小微实体企业联盟、线上链接、线上线下自定义营销方案推送。案例69
- 数据分析实战平台分享
热门文章
- Webpack实战:入门、进阶与调优(第2版)
- 易语言到字节集c,易语言字节集到十六进制文本转换方式 - 小R网络
- (CNS复现)CLAM——Chapter_00
- 北理网课 - Python语言程序设计 - 9.2 实例15:“霍兰德人格分析” (初学,冰山一角)
- 本人初学时java基础笔记
- 2020年Java开发前景还好吗?现在学java好找工作吗?
- Java 基础巩固:内部类的字节码学习和实战使用场景
- 招4000人!美团2023年春季校园招聘启动!
- pyspark ValueError: Some of types cannot be determined after inferring
- 酸奶能通便吗?身体知道酸奶用效果给你答案