SpringBoot的ProblemDetails

ops/2024/10/21 7:47:28/

1.RFC 7807

之前的项目如果出现异常,默认跳转到error页面。或者是抛出500 异常。

但是对于前后端分离的项目,Java程序员不负责页面跳转,只需要  把错误信息交给前端程序员处理即可。而RFC 7807规范就是将异常 信息转为JSON格式的数据。这个JSON数据包含五个部分

  • type: 问题描述文档地址,如果不存在,则"about:blank"
  • title: 简短的描述问题
  • status: http 状态码,比如400401500
  • detail: 详细说明发生问题的原因
  • instance: 问题发生的URL地址
{"type": "about:blank","title": "Method Not Allowed","status": 405,"detail": "Method 'POST' is not supported.","instance": "/t1"
}

前端程序员拿到这串JSON数据进行处理就可以了。

2.ProblemDetails

接下来我们就使用ProblemDetails处理异常,请求方式异常也属于 ProblemDetails处理的异常,我们就模拟改异常的发生。

ProblemDetails默认是不开启的,要想开启需要进行如下配置:

spring.mvc.problemdetails.enabled=true
java">package spring.springlogback.Controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
@SuppressWarnings("all")
public class ProblemDetailsController {@GetMapping("/t1")@ResponseBodypublic String t1(){return "hello";}
}

 POST方式访问该方法:

 


http://www.ppmy.cn/ops/34332.html

相关文章

​【收录 Hello 算法】第 3 章 数据结构

第 3 章 数据结构 Abstract 数据结构如同一副稳固而多样的框架。 它为数据的有序组织提供了蓝图,算法得以在此基础上生动起来。 本章内容 3.1 数据结构分类3.2 基本数据类型3.3 数字编码 *3.4 字符编码 *3.5 小结

etcdv3.6源码流程---Get

线性一致性需要满足的要求: 1.任何一次读都能读到某个数据的最近一次写的数据。即每次都是直接读最新的数据 2.系统中的所有进程,看到的操作顺序,都与全局时钟下的顺序一致。一旦某个请求在时刻a读到了版本为b的某个值,那么时刻a以…

(HAL)STM32F103C8T6——基于STM32的RFID智能门锁系统

一、系统实现的主要功能 a、显示系统初始化界面、功能菜单界面以及实时时间界面,后二者可以随时切换; b、具有4种模式,分别为刷卡解锁、IC卡信息管理、密码解锁、修改密码,并且有LED灯进行提示; c、成功解锁时&…

gateway基本配置详解

Spring Cloud Gateway 是 Spring Cloud 的一个组件,它基于 WebFlux 框架,用于构建 API 网关。API 网关是微服务架构中的一个重要组件,它作为系统的入口,负责处理客户端请求,并将请求路由到相应的服务。以下是 Spring C…

大模型时序预测初步调研20240506

AI预测相关目录 AI预测流程,包括ETL、算法策略、算法模型、模型评估、可视化等相关内容 最好有基础的python算法预测经验 EEMD策略及踩坑VMD-CNN-LSTM时序预测对双向LSTM等模型添加自注意力机制K折叠交叉验证optuna超参数优化框架多任务学习-模型融合策略Transform…

中文输入法导致的高频事件

场景: input.addEventListener(input, (e) > {console.log(e.target.value) }); 当给一个输入框绑定了 input 事件,输入法切换到中文正在拼写的过程中也会触发 input 事件。 解决办法: 在中文拼写开始和结束的时候分别会触发 composit…

软考网络工程师 第六章 第二部分 第五节 ICMP协议

ICMP基础 ICMP,协议号为1,封装在IP报文中,用来传递差错、控制、查询等信息,典型应用ping/tracer依赖ICMP报文 ICMP报文类型与代码 ICMP应用-ping Echo Request和Echo Reply分别用来查询和响应某些信息,进行差错检测。…

滑动验证码登陆测试编程示例

一、背景及原理 处理登录时的滑动验证码有两个难点,第一个是找到滑块需要移动的距离,第二个是模拟人手工拖动的轨迹。模拟轨迹在要求不是很严的情况下可以用先加速再减速拖动的方法,即路程的前半段加速度为正值,后半段为负值去模…