Asp.Net Core, комплексный класс [FromQuery] - PullRequest
0 голосов
/ 16 октября 2018

У меня есть следующие классы:

public class TextFilter
{
    public string Value { get; set; } = "";
    public EnumTextFilterSearchMethod SearchMethod { get; set; } = EnumTextFilterSearchMethod.EQ;
}

public class ContractsFilter
{
    public TextFilter ContractNumber { get; set; } = new TextFilter();

    public TextFilter OrderNumber { get; set; } = new TextFilter();
}

и контроллер:

[HttpGet("")]
public IActionResult Contracts([FromQuery] ContractsFilter filter = null)

строка запроса выглядит как:

http://localhost:63553/contracts?ContractNumber=my.namespace.TextFilter&OrderNumber=my.namespace.TextFilter

Но мне это нужнострока запроса формируется следующим образом:

http://localhost:63553/contracts?ContractNumber.Value=any_contract_number&ContractNumber.SearchMethod=EQ&OrderNumber.Value=any_order_number&OrderNumber.SearchMethod=EQ

Если я введу строку запроса вручную, контроллер сможет ее правильно проанализировать.

Как сделать так, чтобы класс ContractsFilter появился в строке запроса со всеми свойствами класса TextFilter?

1 Ответ

0 голосов
/ 16 октября 2018

Попробуйте атрибут [FromUri] перед вашим параметром так же, как вы пытались использовать атрибут [FromBody].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...