如何从 Web API C# 方法中的操作参数获取所有字符串值

苏雷什·甘达姆

如何从 Web API C# 方法中的操作参数获取所有字符串值我使用了以下代码:

 public override void OnActionExecuting(HttpActionContext actionContext)
 {

     Dictionary<string, object> list = actionContext.ActionArguments;

     for (int index = 0; index < list.Count; index++)
     {
       // need to all variables if the data type is string only 

       // input parameter might be list or model or int or string

       list.ElementAt(index).Value;

     }
 }

如果输入参数是字符串,我需要编写通用方法来验证所有输入参数。输入参数可能是字符串或对象或整数或模型或模型中的列表...因此,我需要验证任何类型的输入以获取所有字符串参数

斯特凡

根据您的要求;这应该有效:

public override void OnActionExecuting(HttpActionContext actionContext)
{
    var dictionary = actionContext.ActionArguments; 
    //key will contain the key, for convenience.
    foreach (var key in dictionary.Keys)
    {
        //the value
        var val = dictionary[key];

        if (val is string)
        {
            //the value is runtime type of string
            //do what you want with it.
        }
    }
}

至于后续,看看这个:https : //stackoverflow.com/a/20554262/2416958结合“PrintProperties”方法,您应该会有所收获。

不过要注意循环引用;-)

修改后的版本(学分:https : //stackoverflow.com/a/20554262/2416958):

注意:不受循环引用保护。

public void ScanProperties(object obj)
{    
    if (obj == null) return;
    Type objType = obj.GetType();
    PropertyInfo[] properties = objType.GetProperties();
    foreach (PropertyInfo property in properties)
    {
        object propValue = property.GetValue(obj, null);
        var elems = propValue as IEnumerable;
        if (elems != null)
        {
            foreach (var item in elems)
            {
                ScanProperties(item);
            }
        }
        else
        {
            // This will not cut-off System.Collections because of the first check
            if (propValue is string)
            {
                //do you validation routine
            }

            ScanProperties(propValue);
        }
    }
}

并称之为:

public override void OnActionExecuting(HttpActionContext actionContext)
{
    var dictionary = actionContext.ActionArguments; 
    //key will contain the key, for convenience.
    foreach (var key in dictionary.Keys)
    {
        //the value
        ScanProperties(dictionary[key]);
    }
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Web API过滤器中清理字符串参数的值?

来自分类Dev

查询字符串中的C#Web API可选参数

来自分类Dev

如何在.net core 2.2 Web API中传递带有“禁止”响应的字符串

来自分类Dev

如何在C#中获取字符串中的所有其他字符

来自分类Dev

Web API .NET Core的返回字符串获取操作

来自分类Dev

如何获取字符串C ++中字符的值?

来自分类Dev

如何在C#WEB API中返回JSON Web令牌?

来自分类Dev

如何使用查询字符串参数在控制台应用程序中调用 Web Api

来自分类Java

如何获取字符串的所有子序列组合(在Java,C ++等中)

来自分类Dev

Web Api如何在Swagger中为所有API添加标头参数

来自分类Dev

Web Api 如何处理此查询字符串?

来自分类Dev

如何從C中的字符串中提取包含空值的所有標記

来自分类Dev

如何将查询字符串参数传递给ASP.NET Web API 2

来自分类Dev

如何在Web API查询字符串中将多个参数作为OR处理?

来自分类Dev

C#JSON字符串到Web API

来自分类Dev

如何安全地获取Web Api控制器中的本地化字符串?

来自分类Dev

如何从字符串C#字符串操作中获取句子

来自分类Dev

为什么在web api C#的post方法中将字符串变量的值传递为null

来自分类Dev

调用WEB API后如何获取JSON响应字符串

来自分类Dev

如何使用Web API通过字符串键获取项目?

来自分类Dev

C#Web API获取方法

来自分类Dev

在C#Web API中-如何从Python HTTPBasicAuth获取用户和传递

来自分类Dev

调用Web API字符串参数

来自分类Dev

Web Api c# 从 url 获取查询字符串 - Asp.net

来自分类Dev

如何从Web API参数中删除转义字符

来自分类Dev

如何在Web API操作过滤器中读取参数属性值

来自分类Dev

如何在C#.net中的Web API中覆盖Get方法

来自分类Dev

如何检查 http 请求在 ASP.Net Core Web API 中是否没有查询字符串

来自分类Dev

如何捕获Web API 2中的所有异常?

Related 相关文章

  1. 1

    如何在Web API过滤器中清理字符串参数的值?

  2. 2

    查询字符串中的C#Web API可选参数

  3. 3

    如何在.net core 2.2 Web API中传递带有“禁止”响应的字符串

  4. 4

    如何在C#中获取字符串中的所有其他字符

  5. 5

    Web API .NET Core的返回字符串获取操作

  6. 6

    如何获取字符串C ++中字符的值?

  7. 7

    如何在C#WEB API中返回JSON Web令牌?

  8. 8

    如何使用查询字符串参数在控制台应用程序中调用 Web Api

  9. 9

    如何获取字符串的所有子序列组合(在Java,C ++等中)

  10. 10

    Web Api如何在Swagger中为所有API添加标头参数

  11. 11

    Web Api 如何处理此查询字符串?

  12. 12

    如何從C中的字符串中提取包含空值的所有標記

  13. 13

    如何将查询字符串参数传递给ASP.NET Web API 2

  14. 14

    如何在Web API查询字符串中将多个参数作为OR处理?

  15. 15

    C#JSON字符串到Web API

  16. 16

    如何安全地获取Web Api控制器中的本地化字符串?

  17. 17

    如何从字符串C#字符串操作中获取句子

  18. 18

    为什么在web api C#的post方法中将字符串变量的值传递为null

  19. 19

    调用WEB API后如何获取JSON响应字符串

  20. 20

    如何使用Web API通过字符串键获取项目?

  21. 21

    C#Web API获取方法

  22. 22

    在C#Web API中-如何从Python HTTPBasicAuth获取用户和传递

  23. 23

    调用Web API字符串参数

  24. 24

    Web Api c# 从 url 获取查询字符串 - Asp.net

  25. 25

    如何从Web API参数中删除转义字符

  26. 26

    如何在Web API操作过滤器中读取参数属性值

  27. 27

    如何在C#.net中的Web API中覆盖Get方法

  28. 28

    如何检查 http 请求在 ASP.Net Core Web API 中是否没有查询字符串

  29. 29

    如何捕获Web API 2中的所有异常?

热门标签

归档