007 使用SpringMVC开发restful API五--异常处理
一:任务
1.任务
Spring Boot中默认的错误机制处理机制
自定义异常处理
二:Spring Boot中的默认错误处理机制
1.目前
浏览器访问的时候,
restful 接口主要是根据状态码进行判断的。
2.新建
如果想对404做处理
3.404.html
4.效果
所以访问一个页面
三:自定义异常处理
1.说明
客户端
服务器返回异常信息只包含错误信息,有时候还需要返回其他的信息的时候。
2.exception的信息改变
控制器
1 // @RequestMapping(value="/user/{id:\\d+}",method=RequestMethod.GET) 2 @JsonView(User.UserDetailView.class) 3 @GetMapping(value="/{id:\\d+}") 4 public User getInfo(@PathVariable(value="id") String idid){ 5 // System.out.println("idtt="+idid); 6 // User user=new User(); 7 // user.setUsername("tom"); 8 // return user; 9 throw new UserNotExistException(idid); 10 11 }
exception:
1 package com.cao.exception; 2 3 public class UserNotExistException extends RuntimeException { 4 private String id; 5 6 public UserNotExistException(String id) { 7 super("UserNotExistException come"); 8 this.id=id; 9 } 10 11 public String getId() { 12 return id; 13 } 14 15 public void setId(String id) { 16 this.id = id; 17 } 18 19 }
3.效果
4.新建一个控制器错误的控制类
只要出现下面的异常,这里就会处理
1 package com.cao.web.controller; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 6 import org.springframework.http.HttpStatus; 7 import org.springframework.web.bind.annotation.ControllerAdvice; 8 import org.springframework.web.bind.annotation.ExceptionHandler; 9 import org.springframework.web.bind.annotation.ResponseBody; 10 import org.springframework.web.bind.annotation.ResponseStatus; 11 12 import com.cao.exception.UserNotExistException; 13 14 //只处理其他控制器丢出来的异常,不处理http请求 15 @ControllerAdvice 16 public class ControllerExceptionHandler { 17 //要处理的异常类 18 @ExceptionHandler(UserNotExistException.class) 19 //map转成json 20 @ResponseBody 21 //返回的状态码 22 @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) 23 public Map<String,Object> handleUserNotExistException(UserNotExistException ex){ 24 Map<String,Object> result=new HashMap<>(); 25 result.put("id", ex.getId()); 26 result.put("message", ex.getMessage()); 27 return result; 28 } 29 }
5.效果
转载于:https://www.cnblogs.com/juncaoit/p/9710500.html
007 使用SpringMVC开发restful API五--异常处理相关推荐
- python django开发api_基于Django框架开发Restful api
在上篇文章中,我们讲解了restful api的主要概念,让大家有初步的了解.这一篇中,我们将通过python的Django框架,来学习开发restful 架构的接口. 一. 开发环境 开发语言:Py ...
- vue安装Postcss_Flask和Vue.js构建全栈单页面web应用【通过Flask开发RESTful API】
前言: 看了一些国外的关于介绍flask和vue的前后端分离的文章,但没看到比较通俗易懂,代码完善的,直到昨天看到一篇新出的文章,而且内容非常棒,所以翻译过来,供大家一起学习. 原文来自Develop ...
- Python自动化开发 - RESTful API
本节内容 1. RESTful 简介 2. RESTful 设计指南 3. Django REST Framework 最佳实践 4. 理论拓展与开放平台 5. API文档化与测试 一 R ...
- php 开发restful api,用PHP创建RESTful API?
如果您的服务支持所有CRUD操作,则始终建议实现RESTful接口.这样做并不是很难.我已经概述了下面的一些基础知识. RESTful服务只是做了一些事情: >它使用HTTP请求方法进行CRUD ...
- flask开发restful api系列(5)-短信验证码
我们现在开发app,注册用户的时候,不再像web一样,发送到个人邮箱了,毕竟个人邮箱在移动端填写验证都很麻烦,一般都采用短信验证码的方式.今天我们就讲讲这方面的内容. 首先,先找一个平台吧.我们公司找 ...
- JavaWeb-RESTful_用SpringMVC开发RESTful
RESTful简介 一种软件架构风格.设计风格,而不是标准,只是提供了一组设计原则和约束条件. 它主要用于客户端和服务器交互类的软件. 基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制 ...
- Restful API注解之@PathVariable和@JsonView详解
**对于restful API的使用可以查看我之前的文章SpringMVC开发restful API查询请求 本文将在restful API的基础上介绍@PathVariable和@JsonView注 ...
- 玩转 SpringBoot 2 快速整合 | RESTful Api 篇
概述 RESTful 是一种架构风格,任何符合 RESTful 风格的架构,我们都可以称之为 RESTful 架构.我们常说的 RESTful Api 是符合 RESTful 原则和约束的 HTTP ...
- 框架下cookie的使用_为什么自动化运维系统越来越多使用都RESTful API?
Flask是轻量级.易于采用.文档化和流行的开发RESTful API的非常好的选择,也是笔者在工作中最常用的Flask Web框架之一.从根本上说,Flask是建立在可扩展性和简单性的基础之上的.F ...
最新文章
- 用css绘制各种形状
- android源码模块编译错误,Android 源码编译错误记录
- 2.10 m 个样本的梯度下降-深度学习-Stanford吴恩达教授
- 洛谷 P1703 那个什么密码2
- C#-数组定义及使用数组的好处 046
- 实验九——基本数据类型存储及应用总结
- python类型检查_python【数据类型检查】
- openmeeting开发心得及相关文档
- python经济统计学论文_统计学论文
- Allegro设置尺寸单位milmm
- Render to Disk
- 10款最佳项目管理工具推荐
- 机器学习算法应用场景实例六十则
- python基础----Day06
- Ubuntu18.04安装Fcitx中文输入法
- 分享三个网页访问(点击)统计脚本,展示访问来源地图分布
- 利器解读:Linux 内核调测中最最让开发者头疼的 bug 有解了|龙蜥技术
- 华北工控计算机硬件,华北工控 | 嵌入式计算机硬件在卫星导航系统中的应用
- LUOGU P1373 小a和uim之大逃离 题解
- B2B实现支付分账的简单方法
热门文章
- python鼠标位置_用python3 返回鼠标位置的实现方法(带界面)
- android按钮切换颜色,togglebutton
- 蓝桥杯java 大纲,2019 第十届蓝桥杯Java省赛B组个人总结
- 一维树桩数组区间更新、区间查询
- WPF自定义开关切换按钮
- 计算机网络—TCP协议
- 安装问题的审计(产生漏洞,抓包)
- bzoj 1687: [Usaco2005 Open]Navigating the City 城市交通(BFS)
- B - 简单暴力(计算今年第几天)
- [python] 字典 pop(key)函数:删除字典中key及其值,并返回该值