目标
本文档主要讲述
- 有3种客户端,都使用http协议来调用服务端接口。
-
这3种客户端各自有对应的异常信息展示方法。当服务端发生异常时,客户端能正确展示异常信息。
- 这3种客户端各自有对应的返回的数据的格式,客户端应收到相应格式的数据,并能做出正确的响应。
3种客户端
- PC Web网站,是一种客户端,它运行的PC的浏览器中。【是PC端】
- wap网站,是使用jquery开发的H5,它运行的手机浏览器中。【淘汰】
- App移动端,是uni-app开发的app、小程序、h5。【是移动端】
角色交互示意图
- 三种客户端;
- 服务端的业务接口;
|
返回的数据的格式
客户端 | 当服务端发生异常时,客户端应收到特定格式的数据 |
---|---|
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":{}}