c# - 从所有控制器调用方法
问题描述
此方法检查Status
and 基于返回的200
or400
状态代码。
private IActionResult ResponseType(Response response)
{
if (response.Status)
return Ok(response);
return BadRequest(response);
}
我想从所有控制器调用这个方法,这样我就可以确定是否应该返回 a200
或400
。我应该在哪里声明这个方法?在“通用”控制器、服务等中?这个用例的最佳实践是什么?
解决方案
在您的项目中创建BaseController
继承自System.Web.Mvc.Controller
,并在此处编写所有常用属性、方法和常用逻辑。
在任何其他控制器中继承自此BaseController
基本控制器
public abstract class BaseController : Controller
{
public IActionResult ResponseType(Response response)
{
if (response.Status)
return Ok(response);
return BadRequest(response);
}
//Any other common methods, logics here
}
所有其他控制器
public class AnyController : BaseController
{
public ActionResult GetResponseType(Response response)
{
return ResponseType(response);
}
}
推荐阅读
- kotlin - 返回类型不匹配的 Kotlin 单行代码
- entity-framework - EF Core 2.1 如何更新相关表中的数据
- azure-devops - 访问其他企业中的组织
- html - 如何将 svg 从文件导入 Angular 5 中的组件?
- r - ggplot / ggpubr:导出绘图时忽略annotate_figure
- python - 在 Python 3 中执行当前 Python 脚本
- testing - 尝试验证架构时遇到 java.lang.ClassNotFoundException: com.intuit.karate.demo.util.SchemaUtils
- javascript - 状态更改时反应组件不重新渲染
- jquery - 尝试在最接近的标签之后添加内容,但我认为我错了
- reporting-services - SSRS 数据驱动文件共享帐户 - 模拟错误