如何实现ASP.NET Core WebApi返回结果的统一包装模式?

2026-05-19 20:560阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计5045个文字,预计阅读时间需要21分钟。

如何实现ASP.NET Core WebApi返回结果的统一包装模式?

前言:近期在重新搭建一套基于ASP.NET Core WebAPI的框架,其中确实带来了不少收获。当你想搭建一套框架时,总会不自觉地想去模仿现有的框架,如何让这套框架变得更加完善和好用呢?

前言

近期在重新搭建一套基于ASP.NET Core WebAPI的框架,这其中确实带来了不少的收获,毕竟当你想搭建一套框架的时候,你总会不自觉的去想,如何让这套框架变得更完善一点更好用一点。其中在关于WebApi统一结果返回的时候,让我也有了更一步的思考,首先是如何能更好的限制返回统一的格式,其次是关于结果的包装一定是更简单更强大。在不断的思考和完善中,终于有了初步的成果,便分享出来,学无止境思考便无止境,希望以此能与君共勉。

统一结果类封装

首先如果让返回的结果格式统一,就得有一个统一的包装类去包装所有的返回结果,因为返回的具体数据虽然格式一致,但是具体的值的类型是不确定的,因此我们这里需要定义个泛型类。当然如果你不选择泛型类的话用dynamic或者object类型也是可以的,但是这样的话可能会带来两点不足

  • 一是可能会存在装箱拆箱的操作。
  • 二是如果引入swagger的话是没办法生成返回的类型的,因为dynamic或object类型都是执行具体的action时才能确定返回类型的,但是swagger的结构是首次运行的时候就获取到的,因此无法感知具体类型。
阅读全文

本文共计5045个文字,预计阅读时间需要21分钟。

如何实现ASP.NET Core WebApi返回结果的统一包装模式?

前言:近期在重新搭建一套基于ASP.NET Core WebAPI的框架,其中确实带来了不少收获。当你想搭建一套框架时,总会不自觉地想去模仿现有的框架,如何让这套框架变得更加完善和好用呢?

前言

近期在重新搭建一套基于ASP.NET Core WebAPI的框架,这其中确实带来了不少的收获,毕竟当你想搭建一套框架的时候,你总会不自觉的去想,如何让这套框架变得更完善一点更好用一点。其中在关于WebApi统一结果返回的时候,让我也有了更一步的思考,首先是如何能更好的限制返回统一的格式,其次是关于结果的包装一定是更简单更强大。在不断的思考和完善中,终于有了初步的成果,便分享出来,学无止境思考便无止境,希望以此能与君共勉。

统一结果类封装

首先如果让返回的结果格式统一,就得有一个统一的包装类去包装所有的返回结果,因为返回的具体数据虽然格式一致,但是具体的值的类型是不确定的,因此我们这里需要定义个泛型类。当然如果你不选择泛型类的话用dynamic或者object类型也是可以的,但是这样的话可能会带来两点不足

  • 一是可能会存在装箱拆箱的操作。
  • 二是如果引入swagger的话是没办法生成返回的类型的,因为dynamic或object类型都是执行具体的action时才能确定返回类型的,但是swagger的结构是首次运行的时候就获取到的,因此无法感知具体类型。
阅读全文