Базовые и производные классы в Web API Controller - PullRequest
0 голосов
/ 26 апреля 2018

Допустим, у меня есть следующая структура класса:

public class BaseClass
{
    public string TestString { get; set; }
}
public class CityClass: BaseClass
{
    public string City { get; set; }
}

public class TownClass:BaseClass
{
    public string Town { get; set; }
}

Я хочу создать контроллер, имеющий 2 метода записи

public class TestController : ApiController
{
    public IHttpActionResult Post(TownClass model)
    {

    }

    public IHttpActionResult Post(CityClass model)
    {

    }

}

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

http://localhost:30868/api/test

{"City":"New York","TestString":"Testing"}

or

{"Town":"Somewhere small","TestString":"Testing"}

Я получаю сообщение об ошибке: найдено несколько действий, соответствующих запросу

Есть ли способ заставить это работать со сценарием дочернего / базового класса?

Я бы хотел сделать это без определения новых маршрутов.

...