首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将“MyAPI.Api.Middleware.MyFilter”类型的对象强制转换为MyAPI.Api.Middleware.MyFilter类型

无法将“MyAPI.Api.Middleware.MyFilter”类型的对象强制转换为MyAPI.Api.Middleware.MyFilter类型
EN

Stack Overflow用户
提问于 2022-07-29 08:35:04
回答 1查看 271关注 0票数 0

我的要求是在将响应发送回客户端之前修改来自控制器的响应。我正在尝试实现IActionResult接口。

代码语言:javascript
复制
public class MyFilter: IActionResult
    {
        ApiResponse _response = new ApiResponse();
        public async Task ExecuteResultAsync(ActionContext context)
        {
            
            var httpResponse = context.HttpContext.Response;
            if (httpResponse != null)
            {
                if (httpResponse.StatusCode == 200)
                {
                   
                    if (context.Result.GetType().Equals(typeof(Microsoft.AspNetCore.Mvc.ObjectResult)))
                    {
                        _response.Response = ((Microsoft.AspNetCore.Mvc.ObjectResult)context.Result).Value;
                        _response.Errors = null;
                        _response.IsSuccess = true;
                    }

                }
            }

            return ;
        }
    }

我的program.cs

代码语言:javascript
复制
var builder = WebApplication.CreateBuilder(args);

// Add services to the container.

builder.Services.AddSingleton<MyFilter>();
builder.Services.AddAppServices();
builder.Services.AddControllers();
builder.Services.AddDataContext(builder.Configuration);
builder.Services.AddRepositories();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

app.UseSwagger();
app.UseSwaggerUI();
app.UseRouting();
app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();

我的控制器具有以下属性

代码语言:javascript
复制
[Route("api/[controller]")]
    [ApiController]
    [ServiceFilter(typeof(MyFilter))]
    public class MyController : ControllerBase
    {
    }

但是,当我调用任何控制器操作方法时,它都不会到达,并给出一个异常作为响应。

有什么东西我完全错过了吗?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73163824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档