SpringBoot全局异常处理,返回数据附带http状态码,以及捕获404页面异常

SpringBoot全局异常处理,返回数据附带http状态码,以及捕获404页面异常 前言 全局异常处理对于编写网络接口程序来说至关重要,能省掉很多的判断语句,让逻辑更加清晰。springboot中的全局异常处理并不难。与网上大部分文章不同的是,我用springboot自带的ResponseEntity给返回结果加上了了http状态码。当然有些人的接口可能全部返回200状态也是可以,但是为了以后的兼容性,还是加上状态码比较好。 代码部分 1.定义一个枚举类 枚举类的作用:预先定义好一些常用的状态信息,便于集中状态信息的集中管理 当然这个类也可以不加,但是当编写大项目的时候会变得乱七八糟。 package com.test.exception; public enum ExceptionEnum{ //下面是一些预先定义的状态信息 SUCCESS(200, true, "成功!"), SIGNATURE_NOT_MATCH(403,false,"服务器拒绝!"), NOT_FOUND(404, false,"未找到该资源!"), URL_NOT_FOUND(404, false,"URL不存在!"), INTERNAL_SERVER_ERROR(500, false,"服务器内部错误!"); private final Integer resultCode; private final Boolean resultStatus; private final String resultMsg; //构造函数 ExceptionEnum(Integer resultCode, Boolean resultStatus, String resultMsg) { this.resultCode = resultCode; this.resultStatus = resultStatus; this.resultMsg = resultMsg; } public Integer getResultCode() { return resultCode; } public Boolean getResultStatus() { return resultStatus; } public String getResultMsg() { return resultMsg; } } 2.统一信息返回格式 统一返回信息json格式为: ...

七月 10, 2023 · 2 分钟 · 363 字 · Me

未曾谋面的故乡(GTA Online)

七月 10, 2023 · 0 分钟 · 0 字 · Me

树莓派 + lnmp一键安装包 + thinkphp搭建网站

目录 前言: 一.准备树莓派 二.安装lnmp安装包 三.设置虚拟主机 1.添加虚拟主机​ 2.上传Thinkphp框架 3.进行一些配置(重要) 前言: 之前零星写了一些环境搭建的问题的解决方法,现在总结一下,把步骤写出来。当然不一定在树莓派上安装lnmp,其他Linux服务器也可以使用。 nginx的配置麻烦点,所以用的就是lnmp练练手,其他的Apache和IIS都相对容易,不再赘述。 一.准备树莓派 树莓派配件和系统安装的问题这里不再多说,详细教程可以看树莓派实验室的入门教程 网址:http://shumeipai.nxez.com/hot-explorer#beginner 注意:关于没有屏幕怎么玩树莓派的方法,现在的树莓派系统如果想启动ssh需要用命令行启动服务,但是没登录ssh怎么启动服务呢?这个树莓派实验室也没说解决方法。个人感觉还是有个屏幕方便些,配置完后以后就可以用远程登录了。 我的网用系统自带的apt-get源的话,很多软件会安装失败。所以我给我的树莓派换了源。 源的配置文件目录:/etc/apt/sources.list(记得备份,备份是个好习惯) 我用的阿里云的源:deb http://mirrors.aliyun.com/raspbian/raspbian/ stretch main contrib non-free rpi 注意:网上有些源是很久以前的了,很多配置也是对老系统的配置,如果想换新的需要知道自己的系统版本。后面stretch那一块,不同系统不一样的,可以用 lsb_release -a 查看系统版本信息 看红色部分,有些系统源是新的(可以打开源地址进去看看),但是配置里面写的不是新的,可以把相应的地方改成红框里面的这个关键词。 二.安装lnmp安装包 lnmp一键安装包网址:https://lnmp.org/ 我用的无人值守安装:https://lnmp.org/auto.h wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && LNMP_Auto=“y” DBSelect=“2” DB_Root_Password=“123456” InstallInnodb=“y” PHPSelect=“5” SelectMalloc=“1” ./install.sh lnmp 把生成的命令复制到树莓派开始自动安装,根据及其配置情况会很慢,我的树莓派差不多用了一个半小时 出现下面这些就成功了,如果失败可以去lnmp官网的安装板块后面的找失败解决办法。 三.设置虚拟主机(很多操作都需要重启lnmp) 注意:下面的一些重启操作未说明,如果改了配置文件,大多数需要重启lnmp才能生效 这个搞了我三天才成功,失败地原因主要有自己对虚拟主机不了解,最主要的还是网上很多教程都是说的老版本nginx的配置过程,这里用的是lnmp一键安装包,lnmp网站教程里面的文档都不是最新的。其实直接用lnmp的新建虚拟主机的命令就能完全解决问题。如果不是用的lnmp一键安装包,应该也大同小异,就是不要在默认的nginx.conf里面操作,需要建立虚拟主机之后再操作,比如pathinfo,basedir,rewrite之类的配置。下面是我用lnmp一键安装包配置tp5环境的详细过程。 注意:配置过程中可能会遇到白屏的情况最好打开php的错误警告,在php.ini文件中查找 ‘display_errors’ 查找到 display_errors = Off 或者 display_errors = On, Off为关闭错误提示,On为打开错误提示,根据需求修改即可。 lnmp官网的教程,里面配置过程是对老版本:https://lnmp.org/faq/lnmp-vhost-add-howto.html 1.添加虚拟主机 创建的配置文件在:/usr/local/nginx/conf/vhost 下面,可以在这里更改端口号和网站根目录,待会咱们会更改。 ...

五月 28, 2023 · 2 分钟 · 266 字 · Me

洛圣都的傍晚(GTA Online)

五月 13, 2023 · 0 分钟 · 0 字 · Me

树莓派VNC分辨率设置

vnc分辨率设置: 1.命令行输入 sudo raspi-config 2.选择 Advanced options 3.选择 Resolution 4.选择适合的分辨率 5.重启

五月 9, 2023 · 1 分钟 · 11 字 · Me

树莓派中文字体问题

cpu监视器显示方框是字体原因, 输入 sudo apt-get install ttf-wqy-zenhei 重启

五月 5, 2023 · 1 分钟 · 7 字 · Me

esp32+vscode+PIO读写sd卡操作

简记一下:SDMMC好像就是SDIO方式,程序在PIO平台自带的SD_MMC库下的example里面的SDMMC_Test。 SPI资料比较多,不做介绍了

二月 16, 2023 · 1 分钟 · 2 字 · Me

树莓派SSH服务开机自动启动

在终端命令行中启动SSH服务后,如果系统重启或关机后启动,SSH服务默认是关闭的,依然需要手动启动,为了方便可以设置SSH服务开机自动启动,打开/etc/rc.local文件,在语句exit 0之前加入: /etc/init.d/ssh start

二月 11, 2023 · 1 分钟 · 4 字 · Me

lnmp一键安装包1.5+Thinphp5.0配置

按照lnmp一键安装包官网的:https://lnmp.org/faq/lnmp-vhost-add-howto.html#user.ini 配置好虚拟主机 在虚拟主机文件中中添加 include rewrite/thinkphp.conf 暂时记录,后续详细 ———更新 其实非常简单,在创建虚拟主机的时候已经提示了,lnmp1.5自带thinkphp的一个配置文件,创建虚拟主机时候会让选择rewrite,然后输入thinkphp.conf就会自动设置好。pathinfo也不要忘记打开。

三月 18, 2021 · 1 分钟 · 8 字 · Me

VScode的c++配置文件内容

MinGW版本 8.1.0 launch.json { "version": "0.2.0", "configurations": [ { "name": "C/C++", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "miDebuggerPath": "C:/Program Files/mingw64/bin/gdb.exe", "preLaunchTask": "g++", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], }, ] } c_cpp_properties.json ...

八月 5, 2019 · 1 分钟 · 140 字 · Me