覆盖ASP .NET Core中的请求对象

机械师

base我的应用程序中针对每个请求的课程:

public abstract class BaseDto
{
   public string Uid { get; set; }
}

public class RequestDto : BaseDto
{
    public string SomeData { get; set; }
}

ReuqestDto在控制器动作中使用我的课程:

[HttpGet]
public IEnumerable<string> Get(RequestDto req)
{
    // some logic on request
    if (req.Uid != null)
    {
        // perform action
    }

}

用户仅将SomeData属性传递给我。在我的JWT令牌我已经保存的一些信息UidBaseDtoUid使用中间件/过滤器将数据写入我的Get()方法中的最佳方法是什么?我尝试序列化HttpContext.Request.Body但未成功,因为我找不到如何正确执行操作。也许对于这个问题有更好的解决方案?如何将数据写入应用程序中的传入对象?

冒险机器

这可能就是您想要的。

您应该为这样的模型创建自己的接口

public interface IMyRequestType { }

您的模型应该实现它以便在FilterAttribute中查找模型

public class MyModel : IMyRequestType
{
    public string ID { get; set; }
}

并通过OnActionExecuting充实的方式创建过滤器属性

public class MyFilterAttribute : TypeFilterAttribute
{
    public MyFilterAttribute() : base(typeof(MyFilterImpl)) { }

    private class MyFilterImpl : IActionFilter
    {
        private readonly ILogger _logger;

        public MyFilterAttributeImpl(ILoggerFactory loggerFactory)
        {
            // get something from DI
            _logger = loggerFactory.CreateLogger<MyFilterAttributeImpl>();
        }

        public void OnActionExecuting(ActionExecutingContext context)
        {
            // get your request model
            var model = context.ActionArguments.Values.OfType<IMyRequestType>().Single();

            // get your key
            //context.HttpContext.User or whatever

            // do something with model
        }

        public void OnActionExecuted(ActionExecutedContext context)
        {
            // perform some logic work
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

asp.net TextBox中的Value和Text属性(Value被Text覆盖)

来自分类Dev

为什么和何时在asp.net中覆盖和使用OnPreRender

来自分类Dev

如何在Asp.net MVC 5 ApiController中覆盖HttpGet / HttpPost

来自分类Dev

覆盖ASP.NET MVC 5中的移动检测方法?

来自分类Dev

覆盖ASP.NET Core 1.0 MVC中的全局授权过滤器

来自分类Dev

(可选)在ASP.NET Core 1.0应用程序中通过URL /路由覆盖请求区域性

来自分类Dev

如何使用环境变量覆盖ASP.NET Core配置阵列设置

来自分类Dev

覆盖ASP.NET Core中的User.IsInRole

来自分类Dev

覆盖ASP.NET Core中的User.IsInRole

来自分类Dev

如何在Visual Studio的ASP.NET Core项目中衡量代码覆盖率?

来自分类Dev

重新读取ASP.NET Core中的请求正文

来自分类Dev

Asp.net Core 3.1 Web API请求与未绑定的对象数组

来自分类Dev

如何在ASP .NET Core 3.1中设置请求超时

来自分类Dev

ASP.NET核心应用程序的代码覆盖,并在Pester中完成了测试

来自分类Dev

覆盖ASP.NET Core 3中的授权策略

来自分类Dev

ASP.NET Core API请求的空对象检查

来自分类Dev

如何在ASP.NET CORE MVC中覆盖默认的Identity AccessDenied路由

来自分类Dev

asp.net TextBox中的Value和Text属性(Value被Text覆盖)

来自分类Dev

如何在asp.net中动态将文本追加到Literal类,而不是覆盖文本?

来自分类Dev

如何在Visual Studio的ASP.NET Core项目中衡量代码覆盖率?

来自分类Dev

覆盖ASP.NET MVC中的View()

来自分类Dev

用一个 div 覆盖 2 个 div (ASP.NET Core)

来自分类Dev

ASP.NET Core(最新)-appsettings.json ConnectionString 未覆盖 Azure

来自分类Dev

使用 asp.net 中的基本身份验证覆盖 IIS Windows 身份验证

来自分类Dev

带有 Html.Checkboxfor lambda 的 Asp.Net Core MVC 视图组件(覆盖模型)

来自分类Dev

如何在ajax post请求asp.net core mvc razor中发送对象数组

来自分类Dev

无法让 HTTP PUT 请求在 ASP.NET Core 中工作

来自分类Dev

为什么 Html.TextBoxFor 没有覆盖 Asp.Net MVC 中的所有页面?

来自分类Dev

ASP.NET Core 中配置对象的模型验证

Related 相关文章

  1. 1

    asp.net TextBox中的Value和Text属性(Value被Text覆盖)

  2. 2

    为什么和何时在asp.net中覆盖和使用OnPreRender

  3. 3

    如何在Asp.net MVC 5 ApiController中覆盖HttpGet / HttpPost

  4. 4

    覆盖ASP.NET MVC 5中的移动检测方法?

  5. 5

    覆盖ASP.NET Core 1.0 MVC中的全局授权过滤器

  6. 6

    (可选)在ASP.NET Core 1.0应用程序中通过URL /路由覆盖请求区域性

  7. 7

    如何使用环境变量覆盖ASP.NET Core配置阵列设置

  8. 8

    覆盖ASP.NET Core中的User.IsInRole

  9. 9

    覆盖ASP.NET Core中的User.IsInRole

  10. 10

    如何在Visual Studio的ASP.NET Core项目中衡量代码覆盖率?

  11. 11

    重新读取ASP.NET Core中的请求正文

  12. 12

    Asp.net Core 3.1 Web API请求与未绑定的对象数组

  13. 13

    如何在ASP .NET Core 3.1中设置请求超时

  14. 14

    ASP.NET核心应用程序的代码覆盖,并在Pester中完成了测试

  15. 15

    覆盖ASP.NET Core 3中的授权策略

  16. 16

    ASP.NET Core API请求的空对象检查

  17. 17

    如何在ASP.NET CORE MVC中覆盖默认的Identity AccessDenied路由

  18. 18

    asp.net TextBox中的Value和Text属性(Value被Text覆盖)

  19. 19

    如何在asp.net中动态将文本追加到Literal类,而不是覆盖文本?

  20. 20

    如何在Visual Studio的ASP.NET Core项目中衡量代码覆盖率?

  21. 21

    覆盖ASP.NET MVC中的View()

  22. 22

    用一个 div 覆盖 2 个 div (ASP.NET Core)

  23. 23

    ASP.NET Core(最新)-appsettings.json ConnectionString 未覆盖 Azure

  24. 24

    使用 asp.net 中的基本身份验证覆盖 IIS Windows 身份验证

  25. 25

    带有 Html.Checkboxfor lambda 的 Asp.Net Core MVC 视图组件(覆盖模型)

  26. 26

    如何在ajax post请求asp.net core mvc razor中发送对象数组

  27. 27

    无法让 HTTP PUT 请求在 ASP.NET Core 中工作

  28. 28

    为什么 Html.TextBoxFor 没有覆盖 Asp.Net MVC 中的所有页面?

  29. 29

    ASP.NET Core 中配置对象的模型验证

热门标签

归档