Действие web api с несколькими выводами, возвращающее результат под item1, item2 ... вместо именованного свойства - PullRequest
0 голосов
/ 08 ноября 2019

У меня есть действие web api dot dot core, которое возвращает два значения. Поскольку мое действие асинхронное, я могу вернуть результат следующим образом:

async Task <(int rollno, string email)> MyAction ();

Но когда яглядя на http-ответ, я получаю результат под узлом item1, item2.

Я хочу вернуть данные с помощью узла rollno и электронной почты вместо Item1 и Item2.

Я также использовал Tuple, но ничего не получалось, как ожидалось.

1 Ответ

0 голосов
/ 08 ноября 2019

То, что вы возвращаете, это ValueTuple, это просто особый вид Tuple, который позволяет компилятору интерпретировать такие вещи, как rollno и email как эквивалентные Item1, Item2,и т.д. на Tuple. Однако, когда вы сериализуете это (что происходит, когда вы возвращаете его из действия), оно собирается сериализоваться как Tuple, потому что это то, что на самом деле скрыто, что приводит к появлению Item1 и Item2из стирки.

Короче говоря, вы не должны возвращать кортежи, ValueTuple или нет, из методов действий. Создайте класс для представления того, что вы возвращаете, а затем верните экземпляр этого класса.

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