0

Как я могу передать более 1 параметры как часть строки запроса на мой asp.net Web API 2.Как передать параметр строки запроса в ASP.NET Web API 2

Это мой asp.net Web API 2 метод, я не могу понять, что, как я могу украсить этот метод так, что он принимает идентификатор и сложный тип, который CustomerRequest, я хочу использовать Url что-то вроде

http://localhost/api/Customer/?Mobile0012565987&Email=abcxyz.com&IsEmailVerified=true

[ResponseType(typeof(Customer))] 
public IHttpActionResult GetCustomer(long id, [FromUri]CustomerRequest request) 
     { 
      var customer = db.Customers.Find(request.CustomerId); 

      if (customer == null) 
      { 
       return NotFound(); 
      } 

      return Ok(customer); 
     } 

Это CustomerRequest класс

public class CustomerRequest 
    { 
     public string Mobile { get; set; } 
     public string Email { get; set; }   
     public Nullable<bool> IsEmailVerified { get; set; }  
    } 

В противном случае pleaase наставит меня, если есть лучший способ сделать это.

Благодаря

+0

Можете ли вы показать свою таблицу маршрутизации? –

ответ

0

на основе кода, вам нужно передать «идентификатор», а также, как это:

http://localhost/api/Customer/?id=12345&Mobile=0012565987&Email=abcxyz.com&IsEmailVerified=true

, если вы хотите сделать «ID» по желанию, вы можете сделать свой метод подписи выглядит так:

public IHttpActionResult GetCustomer([FromUri]CustomerRequest request, long id = 0) 

это установит id в 0 по умолчанию, если вы не передадите его по URL-адресу. Таким образом, вы будете иметь возможность получить доступ к URL, как вы изначально делали:

http://localhost/api/Customer/?Mobile=0012565987&Email=abcxyz.com&IsEmailVerified=true

+0

Спасибо, Али, это сработало – Shax

Смежные вопросы