2015-01-07 3 views
1

У меня есть метод webapi как httppost, как показано ниже. Я пытаюсь сделать запрос, используя fiddler , но я не могу получить объект param. Он равен null, если я отправлю запрос, как показано на изображении. Что я делаю не так?webapi httppost отправка параметра как объекта

[ActionName("getCustomerByName")] 
    [HttpPost] 
    public async Task<List<Customer>> GetcustomerByName(object param) 
    { 

    } 

enter image description here

ответ

1

Что вы ожидаете object param быть?

Является ли тело запроса JSON строкой Customer?

Если да, используйте Customer как тип вместо object например

public async Task<List<Customer>> GetCustomerByName(Customer param) 

Если нет, то определить класс (любое имя) с теми же именами полей как строки JSON вы передаете и использовать этот класс вместо от object eg

public class QueryArgs 
{ 
    public int Id { get; set; } 
    // rest of your fields go here 
} 

public async Task<List<Customer>> GetCustomerByName(QueryArgs param) 
+0

на самом деле причина, по которой я использовал его, есть разные свойства, которые сам объект клиента не имеет. Но моя проблема была глупой опечаткой. Я только что основал, что я набирал contentype, а не контент-тип. Он работает, когда я его исправляю. :) – batmaci

+1

@batmaci достаточно честный, но он намного яснее, чтобы иметь четко определенные классы в вашем API, а не использовать 'object' – wal

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