Asp.net core 如何返回InternalErrorResult?
我正在使用带有.Net核心API的Swagger。 当API中出现错误时,我希望收到InternalServerError 但是,没有NotOK方法可以做到这一点 目前,我的基本控制器中有以下内容Asp.net core 如何返回InternalErrorResult?,asp.net-core,swagger,Asp.net Core,Swagger,我正在使用带有.Net核心API的Swagger。 当API中出现错误时,我希望收到InternalServerError 但是,没有NotOK方法可以做到这一点 目前,我的基本控制器中有以下内容 using System; using Microsoft.AspNetCore.Mvc; namespace MyApi.Controllers { public class BaseController : Controller { public IActionR
using System;
using Microsoft.AspNetCore.Mvc;
namespace MyApi.Controllers
{
public class BaseController : Controller
{
public IActionResult RouteInterfaceMethod<TResponse>(Func<TResponse> function)
{
// try
// {
IActionResult res = null;
TResponse ret = function();
res = Ok(ret);
return res;
// }
// catch (Exception e)
// {
// var msg = MakeErrorMessage(e);
// return base.NotFound( msg);
// }
}
}
}
使用系统;
使用Microsoft.AspNetCore.Mvc;
名称空间MyApi.Controllers
{
公共类BaseController:控制器
{
公共IActionResult路由接口方法(Func函数)
{
//试一试
// {
IActionResult res=null;
t响应ret=函数();
res=正常(ret);
返回res;
// }
//捕获(例外e)
// {
//var msg=MakeErrorMessage(e);
//返回base.NotFound(msg);
// }
}
}
}
我将要对代码进行取消注释,除了使用NotFound(),还有其他方法吗?您可以用这种方法返回InternalServerError
catch (Exception e)
{
var msg = MakeErrorMessage(e);
return StatusCode(HttpStatusCode.InternalServerError, msg);
}
或者只是重新抛出一个异常
catch (Exception e)
{
var msg = MakeErrorMessage(e);
throw;
}
我问了一个相关的问题~