目标

本文档主要讲述

  1. 有3种客户端,都使用http协议来调用服务端接口。
  2. 这3种客户端各自有对应的异常信息展示方法。当服务端发生异常时,客户端能正确展示异常信息。

  3. 这3种客户端各自有对应的返回的数据的格式,客户端应收到相应格式的数据,并能做出正确的响应。

3种客户端

  1. PC Web网站,是一种客户端,它运行的PC的浏览器中。【是PC端】
  2. wap网站,是使用jquery开发的H5,它运行的手机浏览器中。【淘汰】
  3. App移动端,是uni-app开发的app、小程序、h5。【是移动端】

角色交互示意图

  1. 三种客户端;
  2. 服务端的业务接口;

返回的数据的格式

客户端 当服务端发生异常时,客户端应收到特定格式的数据
PC Web网站 应收到一个HTML页面,里面有异常信息。例如500页、404页
wap站(最早开发的微商城,使用jquery开发的H5) 应收到一个“包含错误提示语的字符串”。
App移动端(是uni-app开发的app、小程序、h5)

应收到一个json,格式是《统一数据包装体和状态码》

注:如何区分 wap与App请看: AppToken方式专有的请求头 两种移动端--工具类

异常测试的服务端接口

测试地址:wap/api/v1/errorTest.htm
完整地址: http://127.0.0.1:8081/wap/api/v1/errorTest.htm
实现类:com.sicheng.wap.web.api.ErrorTestController

客户端是PC浏览器

访问wap/api/v1/errorTest.htm, 应收到一个HTML页面,里面有异常信息

客户端是wap站

访问wap/api/v1/errorTest.htm, 应收到一个“包含错误提示语的字符串”。


客户端是app

访问wap/api/v1/errorTest.htm, 应收到一个json,格式是《统一数据包装体和状态码》

《统一数据包装体和状态码》要求的数据格式是:

{"status":"500","message":"Request processing failed; nested exception is java.lang.ArithmeticException: / by zero","data":"","page":{}}