前言
哈喽大家好,马上就要年末了,距离新的一年,只有50天了,春节是75天。
在这个时节内,天气逐渐变凉,但是大家的心肯定很热吧,因为发生了两件大事:
1、双十一买买买,在这个让人激动又纠结的一天,大家有没有被像 “高考命题组” 般的优惠方案搞得云里来雾里去?最终,我选择了 的最优解方案,其实是 Q I O N G 第二声?。
2、还有一个特别轰动的,当属前两天上海举办的 "中国.NET开发者峰会,可以这样读NET Conf(c,o,n ,f)",真的特别轰动,各路大神齐聚,只可惜我当时正在开启微讲堂,为了履行我上次公众号点赞的诺言——10小时入门net core的远程视频授课?。
言归正传,曾几何时,在某微信群讨论 Http 状态码的时候,被某大佬给怼了一下,具体的内容就不说了,反正现在的返回状态码无非就那两个方案,一个是用 RESTFul 风格,完全通过 http状态码来处理,另一个就是通过 自定义返回内容,比如json的格式,把状态信息放到返回内容里边,最终我没有听从他的意见,还是坚持我自己的风格(状态码+自定义格式),具体的内容我都会在下面详细的说明的,恰逢QQ群里有一个小伙伴也说到了关于封装状态码的问题,其实我已经写了,只不过他的更优雅,更漂亮,所以我就用他的方案了:
投稿人:QQ群:菜工 、 飞非→飛
主题:封装授权认证的自定义返回格式。
代码:Blog.Core 主分支
具体内容:详见下文。
一、两种返回格式的思考
在上边的文章中呢,我和某大佬基于返回格式简单的表明了下个人的立场,其实我自己也懂,无非就那么两个情况:
1、完全基于 HTTP 返回格式状态码
说这个可能有点儿抽象,我举个例子大家就懂了:
namespace Microsoft.AspNetCore.Http{
public static class StatusCodes {
public const int Status100Continue = 100; public const int Status101SwitchingProtocols = 101; public const int Status102Processing = 102; public const int Status200OK = 200; // 等等等等 public const int Status400BadRequest = 400; public const int Status401Unauthorized = 401; public const int Status402PaymentRequired = 402; public const int Status4