1

Does any one know if Jil can accept ContentType: 'application/json' in the http call to the API?

From what I see it can only accept ContentType:x-www-formencoded

An example of what don't work for me, the object received in the controller is null. This is the JS call

 var request = $.ajax({
        url: uri,
        type: commad,
        data: JSON.stringify(obj),
        dataType: "json",
        contentType: 'application/json',

This is the obj content:

{"SessionToken":"65e2be91-a455-0ef3-0ba0-c2dd2c281ecc","ClientType":1,"OfferType":1,"DeviceInfo":{"Width":1080,"Height":1920}}

Now, in the MVC controller this is the method:

[HttpPost]
public Task<ActionResult> GetUserOffers([FromBody]OffersRequestInfo obj)
{
    if (obj == null)
        return null;

    CampaignLogic logic = new CampaignLogic();
    Task<ActionResult> res = logic.GetOffers(obj);
    return res;
}

the obj parameter received as null when using Jil, with Newtonsoft it is holding the value from the request.

ekad
  • 14,436
  • 26
  • 44
  • 46
Guy Assaf
  • 888
  • 9
  • 24

1 Answers1

1

The next line should be added to the constractor of the JilFormatter

  SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));

More explanation on how to implement Jil as the default mvc serializer: Here

Guy Assaf
  • 888
  • 9
  • 24