как вернуть объект вместо строки с ContentResult - PullRequest
1 голос
/ 02 августа 2020

My. NET Основной проект веб-API имел вход в конечную точку POST и возвращал токен в виде строки. Поскольку не было URL-адреса конечной точки для сгенерированного ресурса токена, я не возвращал CreatedAtAction, а вместо этого возвращал

return new ContentResult
{
    Content = "myToken",
    ContentType = "text/plain",
    StatusCode = 201
};

Теперь эта конечная точка возвращает экземпляр класса, содержащий токены доступа и refre sh как свойства. К сожалению, свойство Content принимает только строки. Мне нужно преобразовать этот объект в строку? Я думаю, что тип контента больше не простой текст. Как мне правильно вернуть этот объект с кодом состояния 201? Например,

return new ContentResult
{
    Content = classInstanceHoldingTokens,
    ContentType = "this should be json",
    StatusCode = 201
};

При возврате ObjectResult он отправляет только код состояния 200.

1 Ответ

2 голосов
/ 02 августа 2020

Вы можете просто изменить тип возвращаемого значения на ActionResult и вернуть такой ответ. Вы можете создать класс в соответствии с вашими требованиями.

object results = ...;
return StatusCode(201, results);
...