2015-04-10 2 views
0

Это разработка question that I asked ранее, которая изменилась в другую проблему.ASP.NET Web API 2 с угловыми проблемами

Контроллер My API API 2 успешно удаляется, но модель представления, переданная как параметр, не заполняется. Он содержит нули для строк и фальши для булевых.

Мой контроллер выглядит следующим образом:

[HttpPost] 
public IEnumerable<string> Post(SearchParameters id) 
{ 
    return null; 
} 

public struct SearchParameters 
{ 
    string brokerIsUnallocated; 
    string brokerIncludeDeleted; 
    string businessType; 
    bool codeC; 
    bool codeD; 
    bool codeP; 
    bool codeS; 
    bool codeT; 
    bool codeX; 
    string companyName; 
    string contactName; 
    string country; 
    string customerId; 
    string department; 
    string selectedBroker; 
    string town; 
} 

Я проверил в Fiddler и каждый параметр передается. Должен ли я каким-то образом передать это как параметр с именем ID в соответствии с действием контроллера? Я использую маршрут по умолчанию, например:

public static void Register(HttpConfiguration config) 
{ 
    config.MapHttpAttributeRoutes(); 

    config.Routes.MapHttpRoute(
     name: "DefaultApi", 
     routeTemplate: "api/{controller}/{id}", 
     defaults: new { id = RouteParameter.Optional } 
    ); 
} 

запрос Скрипач выглядит следующим образом:

Fiddler capture

С нетерпением ждем ваших ответов.

+0

Я бы предположил, с вашего последнего вопроса, что ваши данные не в правильном формате JSON – Jonesopolis

+0

Похоже на ту же проблему: http://stackoverflow.com/questions/21618471/web-api-put- is-recognising-query-strings-but-not-body/21618545 # 21618545. Проверьте мой ответ в вопросе –

ответ

0

Изменить определение:

public IEnumerable<string> Post([FromBody]SearchParameters id) 
{ 
    return null; 
} 

обозначения FromBody должен сериализовать данные.

+0

. Ваш тип возврата также должен быть: IHttpActionResult, а не IEnumerable . – netrevisanto

+0

Я выполнил ваши ответы последовательно и вместе, но теперь действие моего контроллера вообще не ударяется. Я получаю 404. – serlingpa

+0

Каковы ваши данные определения маршрута? Вставьте его в свой вопрос, пожалуйста. – netrevisanto

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