WebAPI接口设计:SwaggerUI文档/统一响应格式/统一异常处理/统一权限验证

为什么还要写这类文章?因为我看过网上很多讲解的都不够全面,而本文结合实际工作讲解了swaggerui文档,统一响应格式,异常处理,权限验证等常用模块,并提供一套完善的案例源代码,在实际工作中可直接参考使用。

一、先看看最终效果

这是最后生成的swagerui文档,大家可以直接访问这个地址体验:

http://sapi.daimali.com/swagger/ui/index

(若无法访问,请公众号联系)

git源码地址:

https://gitee.com/daimali/WebApiDemo

我觉得大部分人阅读到这里就可以了,剩下的时间去看看源码,需要用的时候边用边学就好了

二、接口文档 - SwaggerUI注意点

swagger汉化,注意swagger_lang.js 属性生成操作需要选择"嵌入的资源"

项目右键-属性-生成:输出项勾选XML文档文件

三、统一响应格式说明

通过 ApiResultFilterAttribute 类实现响应参数的统一封装:

这里封装的响应格式为:

{

"code": 200,

"msg": "OK",

"data": null

}

四、自定义异常信息

针对于所有的异常信息,接口也会返回对应的code,msg,data的格式:

通过CustomException和CustomExceptionFilterAttribute实现

看源码

需要说的东西太多,直接看源码更方便:

接口预览地址:

http://sapi.daimali.com/swagger/ui/index

(若无法访问,请公众号联系)

git源码地址:

https://gitee.com/daimali/WebApiDemo

相关资源获取或其他疑问可在公众号留言。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181119G09EUC00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券