Why not use content negotiation to return the JSON object?


I'm using content negotiation to return a JSON object from some WebAPI controllers.

I found this question How to return Json object on Web API Controller

Here some of the people answered seem to agree that you shouldn't rely on negotiation but should create a new HttpContent class for the JSON return.

Why is this please? As a beginner content negotiation seems to work well.

I have searched for this answer, but can't find an explanation.

ASP.Net Web API in its purest form is intented to create REST ful web services.

As per REST full standards client should have the ability to decide whether the response should be in XML/JSON response. And this can be achieved using Content-negotiation header in the request.

That means your understanding is correct and using Content negotiation you can decide whether you require XML/JSON response in ASP.Net Web API.