Получите .Net Core Api для генерации ответа text/html

У меня есть API Asp.Net Core 2.0, для которого мне нужно сгенерировать ответ text/html типа контента. Запросы в настоящее время генерируют 406 ошибок. Как заставить API генерировать тип ответа «текст/html»?

[HttpGet("api/scoInfo/")]
public async Task<IActionResult> GetScoInfo([FromQuery]int activityId, [FromQuery]int studentId, [FromQuery] long timeStamp)
{
    if (!ModelState.IsValid)
    {
        return BadRequest(ModelState);
    }

    var learningTask = await _context.LearningTasks.SingleOrDefaultAsync(m => m.Id == activityId);

    if (learningTask == null)
    {
        return NotFound();
    }

    //Note the following worked in .Net 4.6.1 - it does not work in .Net Core
    //var jsonstring =new StringContent(learningTask.Data, System.Text.Encoding.UTF8, "text/html") ;

    var jsonstring = learningTask.Data;  // json string looks something like this...."{Data="{\"status\":\"failed\" etc...}"


    return Ok(jsonstring);
}

person Roddy Balkan    schedule 27.05.2018    source источник
comment
Можете ли вы предоставить пример кода вашего API и что именно вы возвращаете?   -  person Zoran Pandovski    schedule 27.05.2018
comment
Примечание. API используется не представлением, а проигрывателем JavaScript, над которым я не контролирую   -  person Roddy Balkan    schedule 27.05.2018
comment
@RoddyBalkan Пожалуйста, добавьте код в вопрос, а не в комментарий.   -  person Nikolaus    schedule 28.05.2018
comment
Какие заголовки accept вы получаете с запросом?   -  person Nikolaus    schedule 28.05.2018
comment
Вы говорите, что хотите предоставить некоторый контент, который не является html (ваш пример, кажется, говорит, что это JSON), тип контента html, потому что это то, что ожидает (явно сломанный...) клиент?   -  person Tom W    schedule 28.05.2018


Ответы (1)


Вызовите представление MVC, используя return View(); или return View(model);, если у вас есть модель. Вам нужно будет определить представление, связанное с контроллером, с помощью MVC. соглашения. Это стандартный способ обслуживания html в MVC, где контроллеры MVC и контроллеры API теперь унифицированы.

person Tom W    schedule 27.05.2018
comment
Примечание. API используется не представлением, а проигрывателем JavaScript, над которым я не контролирую — - person Roddy Balkan; 28.05.2018