Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

O return Json(model.ToModel()) seria o mesmo que return Ok(model.ToModel())?

O return Json(model.ToModel()) seria o mesmo que return Ok(model.ToModel())?

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
2 respostas
solução!

Oi Victor, tudo bem?

O código:

return Ok(model.ToModel());

é equivalente a:

var result = Json(model.ToModel());
result.StatusCode = StatusCodes.Status200OK;
return result;

Note que o código Json(model.ToModel()) retorna um JsonResult, que não possui o código de status. Por isso o trecho de baixo fornece o status 200 (OK) ao resultado Json.

Note também que o return Ok(model.ToModel()) respeita a negociação de conteúdo da requisição. Ou seja, se a requisição deseja a resposta em XML (no cabeçalho "Accept: application/xml"), então o OkResult vai retornar um XML. Por outro lado, um JsonResult ignora negociação de conteúdo da requisição, e retorna sempre um JSON, o que pode provocar um erro (Bad Request) se o tipo exigido pela requisição for diferente de JSON (um XML, por exemplo).

Entendi, ficou bem claro agora. Obrigado :)