ASP.NET Web API中参数的传递

ASP.NET Web API中参数的传递

一、简单类型的传递

1、传递1个参数

获取方式:

public Users Get(int id)

传递方式:

(1)、api/default/5

(2)、$.get("/api/default",{id:90}, function (data) {/* 处理逻辑 */});

2、传递多个参数

获取方式:

public Users Get(int id, int id2)

传递方式:

$.get("/api/default",{id:90,id2:88}, function (data) {});

二、传递复杂类型

1、传递一个对象

(1)、定义一个类型

  •  
  • C# 代码   复制
  • 
        public class DoubleStringPrameter
        {
            public string Pram1 { get; set; }
    
            public string Pram2 { get; set; }
        }
    
    		
  • (2)、获取方式

    public string Post(DoubleStringPrameter pram)

    (3)、传递方式

    $.post("/api/testStringUsingObject", { Pram1: "参数1的值", Pram2: "参数2的值" }, function (data) {});

    2、传递多个对象

    (1)、定义两个类型

  •  
  • C# 代码   复制
  • 
        public class Users
        {
            public int uid { get; set; }
    
            public string username { get; set; }
        }
    
        public class DoubleStringPrameter
        {
            public string Pram1 { get; set; }
    
            public string Pram2 { get; set; }
        }
    
    		
  • (2)、对多个对象进行封装:

  •  
  • C# 代码   复制
  • 
        public class IMultiObj //定义一个类型封装
        {
            public DoubleStringPrameter StringPrameter { get; set; }
    
            public Users User { get; set; }
        }
    
    		
  • (3)、获取方式:

  •  
  • C# 代码   复制
  • 
            public string Post(IMultiObj obj)
            {
                return "uid:" + obj.User.uid + ",username:" + obj.User.username + "||pram1:" + 
                    obj.StringPrameter.Pram1 + ",pram2:" + obj.StringPrameter.Pram2;
            } 
    
    		
  • (4)、传递方式:

    $.post("/api/using2Obj", { User: { uid: '80909', username: 'amazon' }, StringPrameter: { Pram1: '参数1的值', Pram2: '参数2的值' } },function (data) {});

    标签: