首页 > 解决方案 > 从所有控制器调用方法

问题描述

此方法检查Statusand 基于返回的200or400状态代码。

private IActionResult ResponseType(Response response)
    {
        if (response.Status)
            return Ok(response);
        return BadRequest(response);
    }

我想从所有控制器调用这个方法,这样我就可以确定是否应该返回 a200400。我应该在哪里声明这个方法?在“通用”控制器、服务等中?这个用例的最佳实践是什么?

标签: c#

解决方案


在您的项目中创建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);
    }
}

推荐阅读