2014-05-16 23 views
5

dönmek değiştiği CamelCase JSON biçimlendirici çalışmayı durdurdu, biz böyle küresel JSON biçimlendirme yapılandırılmış:MVC5 - WebAPI 2 - Kontrolör Web API 2 uygulamasında HttpResponseMessage

var jsonformatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter;  
jsonformatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); 

bu büyük çalıştı - JSON CamelCase oldu. ., bunun gibi (yerine doğrudan yanıt modeli türden) bir HttpReponseMessage dönmek bizim denetleyici yöntemleri değişti sonu: tek değişiklik MVC JSON biçimlendirici kullanmayın neden gibiydi

Request.CreateResponse(HttpStatusCode.OK, response); 

O

. JSON'umuz artık CaemlCase değil.

Bu beklenen/tasarlanmış davranış mı yoksa biçimlendiriciyi doğru şekilde belirtmedim mi?

sayesinde -Mike

cevap

6

Eğer Request.CreateResponse kullandığınızda denir Gerçek yöntem şudur: Gördüğünüz gibi

public static HttpResponseMessage CreateResponse<T>(
              this HttpRequestMessage request, T value) 
{ 
    return request.CreateResponse<T>(HttpStatusCode.OK, value, configuration: null); 
} 

yapılandırması özelliği sadece null kuruluyor.

Yani sadece manuel böyle başka aşırı istek nesneden yapılandırmayı alıp arayabilirsiniz: daha ayrıntılı olarak ilgileniyorsanız

Request.CreateResponse(HttpStatusCode.OK, response, Request.GetConfiguration());

, sen çerçevenin kaynak kodunu kontrol edebilirsiniz. CreateResponse, here

+0

Hmmm olarak tanımlanmıştır. Cevabın için teşekkürler. Ama şimdi belirtilen biçimlendiricilerimi çağırmıyor gibi görünüyor. Önceden sadece "geri dönüş cevabı" vardı. (Bu benim camelcase biçimlendiricisini kullandı). Şimdi "Request.CreateResponse (HttpStatusCode.OK, yanıtı)" kullanıyorum ve biçimlendiriciyi kullanmıyor – HokieMike

+0

Benim hatam :) Cevabımı güncelledim – SoftwareFactor

İlgili konular