首页 > 其他分享 >springboot异常解决

springboot异常解决

时间:2024-06-12 11:23:01浏览次数:20  
标签:username jackson springboot public 解决 password 异常 id String

问题解决

问题解释

Resolved [org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class com.test.entity.User] with preset Content-Type 'null']”
出现这个问题表明spring在尝试将user对象序列化为http响应时,找不到适当的消息转化器。

问题解决

由于springboot默认使用jackson作为json序列化和反序列化的工具,所以需要包含jackson的依赖

  <properties>
    <java.version>1.8</java.version>
    <jackson-version>2.13.1</jackson-version>
  </properties>
  <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>${jackson-version}</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>${jackson-version}</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>${jackson-version}</version>
    </dependency>

除了这个原因,由于在项目中接口返回的是一个对象,对象没有定义getter和setter方法会报错
拿本例子来看, 没有定义对应的方法会出错

public class User {
    private int id;
    private String username;
    private String password;
    public  User(int id,String username,String password){
        this.id=id;
        this.username=username;
        this.password=password;
    }
    
}

更改后如下

public class User {
    private int id;
    private String username;
    private String password;
    public  User(int id,String username,String password){
        this.id=id;
        this.username=username;
        this.password=password;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}

深入解析

在spring的rest接口中,通常会涉及json的序列化和反序列化。
jackson这样的库依赖于getter和setter方法把对象转化为json格式和从json格式转化为对象

  • 序列化问题:将user对象转化为json时,没有getter方法json库就无法访问对象的属性
  • 反序列化问题:将json转换为对象时,没有setter方法,json处理库无法将json中的数据赋值给对象的属性

标签:username,jackson,springboot,public,解决,password,异常,id,String
From: https://www.cnblogs.com/Sun-Wind/p/18243572

相关文章

  • Steam游戏启动受阻:有效应对bcrypt.dll文件缺失的解决方案
    面对Steam游戏启动时“bcrypt.dll文件缺失”的提示,玩家无需沮丧。通过几个简单步骤,包括验证游戏文件、安装必要运行库、系统文件检查等,即可轻松跨越这道障碍,重返游戏战场。本文速递解决方案,助你无缝继续游戏之旅。1.重新安装游戏首先,尝试从Steam库中卸载游戏,然后重新安装。......
  • 【解决了一个小问题】因为镜像证书的问题,golang http client出现错误 `tls: failed to
    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯一个服务使用Docker打包镜像,部署到k8s后出现如下的错误信息:tls:failedtoverifycertificate:x509:certificatesignedbyunknownauthority出错的位置是......
  • 数据预处理之基于聚类的TOD异常值检测#matlab
    1.基于聚类的异常值检测方法物以类聚——相似的对象聚合在一起,基于聚类的异常点检测方法有两个共同特点:(1)先采用特殊的聚类算法处理输入数据而得到聚类,再在聚类的基础上来检测异常。(2)只需要扫描数据集若干次,效率较高,适用于大规模数据集。2.检测方法计算步骤基于聚类的......
  • 掌握调试艺术:提升开发效率与问题解决的策略
    调试作为开发中不可或缺的一环,其重要性不言而喻。若尚未掌握此技能,不仅可能影响团队的整体进度,还会限制个人的开发效率。虽然在线资源提供了快速解决问题的途径,但过度依赖可能阻碍深入培养扎实的调试能力。认识到调试技能的重要性,意味着将有更多精力投入到其他富有创造性的工作......
  • 已经解决: 未连接:有潜在的安全问题 Firefox 检测到潜在的安全威胁,并因 github.com 要求
    最近在访问github.com网站的时候,提示安全问题而不能访问,尝试添加例外网站地址后得以解决,分享给需要的朋友。访问github网站出现的问题解决未连接:有潜在的安全问题Firefox检测到潜在的安全威胁,并因github.com要求安全连接而没有继续。  把https://github.com添加到例......
  • springboot打包将配置文件和jar分开
    <?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0......
  • 图片翻译工具哪个好用?高效解决英文摘要翻译难题
    当毕业论文的英文摘要摆在面前时,很多学生都会感到头疼。不仅因为英文水平可能不够,而且如果完全依靠自己翻译摘要,很难对翻译结果放心,往往需要借助一些图片翻译工具来帮助。所以给大家安利5个平时用得较多,且评价较高的图片文字翻译工具,一起来get吧~安利『壹』.翻译相机▎应用......
  • Python办公MySQL(一):安装MySQL以及Navicat可视化工具(附送Navicat到期解决方法)
    目录专栏导读1、下载MySQLCommunityServer2、安装3、安装Navicat4、连接刚刚安装的MySQL5、创建一个数据库方法1方法26、创建一张表方法1:准备一个test文件方法2:Navicat到期解决总结专栏导读课程连接Python办公MySQL(一):安装MySQL以及Navicathttps://blog.csdn.net......
  • TensorFlow、Keras的LSTM神经网络预测和异常检验股市价格时间序列数据可视化python实
    全文链接:https://tecdat.cn/?p=36448原文出处:拓端数据部落公众号本文旨在探讨如何利用TensorFlow和Keras中的LSTM神经网络来预测和检验股市价格时间序列数据,并通过Python编程语言和可视化技术来展示预测结果和异常检验的效果。具体而言,本文将首先介绍LSTM神经网络的基本原理和Te......
  • 各种容器运行时都解决了什么问题
    运行时指的是程序的生命周期阶段或使用特定语言来执行程序。容器运行时的功能与它类似--它是运行和管理容器所需组件的软件。这些工具可以更轻松地安全执行和高效部署容器,是容器管理的关键组成部分。在容器化架构中,容器运行时负责从存储库加载容器镜像、监控本地系统资源、隔离系......