2016-01-13 5 views
1

Кто-нибудь знает, может ли Jil принять ContentType: 'application/json' в http-вызове API?Jil serializer как MVC по умолчанию, не принимает «json» ContentType

Из того, что я вижу, он может принимать только ContentType:x-www-formencoded

пример того, что не работает для меня, объект получил в контроллере является недействительным. Это JS вызов

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

Это содержание OBJ:

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

Теперь, в контроллере MVC это метод:

[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; 
} 

параметра OBJ, полученный в качестве нуля при использовании Jil, с Newtonsoft он удерживает значение от запроса.

+0

Добро пожаловать в StackOverflow! Пожалуйста, giva a [MCVE]. Спасибо! – jkalden

+0

Я редактирую вопрос. –

ответ

1

Следующая строка должна быть добавлена ​​к constractor в JilFormatter

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

Более объяснение о том, как реализовать Jil в MVC сериализатором по умолчанию: Here

 Смежные вопросы

  • Нет связанных вопросов^_^