2016-06-29 8 views
1

I Implementiert ein AngularJS-Projekt. Die Serverseite habe ich mit .NET Web API (C#) codiert. Ich Aktiviert die CORS in der Web-API durch die NuGet Paket Installation https://www.nuget.org/packages/Microsoft.AspNet.WebApi.Cors ich tue Authentifizierung mit Owin Authhttps://www.nuget.org/packages/Microsoft.AspNet.WebApi.OwinSo deaktivieren Sie Camelcase-Property-Konvertierung von .Net-Web-API 2 Owin Auth

[EnableCors(origins: "*", headers: "*", methods: "*")] 
public class SampleController : ApiController 
{ 
    [Authorize] 
    [HttpGet] 
    public string GetAuthorizeEmployee() 
    { 
     return new Employee() 
      { 
       EID = "EMP_1001", 
       User = "[email protected]", 
       Name = "Ram Kumar", 
       Mobile_Number = "9999911111" 
      }; 
    } 
} 

Die Modellklassen

public class Employee 
{ 
    public string EID { get; set; } 
    public string User { get; set; } 
    public string Name { get; set; } 
    public string Mobile_Number { get; set; } 
} 

In AngularJS sind, I bekomme die Antwortnachricht als

{ 
    "eID": "EMP_1001", 
    "user": "EMP_1001", 
    "name": "EMP_1001", 
    "mobile_Number": "EMP_1001" 
} 

Ich brauche diese Camelcase Formatierung nicht, ich brauche was ich gegeben habe.

sollte Mein erwarten Output

sein
{ 
    "EID": "EMP_1001", 
    "User": "EMP_1001", 
    "Name": "EMP_1001", 
    "Mobile_Number": "EMP_1001" 
} 

Ich erhalte dieses Problem nach Owin Umsetzung. helfen Sie mir freundlicherweise ...

Antwort

2

Fügen Sie den folgenden Formatter in Ihrem WebApiConfig.cs

config.Formatters.Clear(); 
config.Formatters.Add(new JsonMediaTypeFormatter()); 
config.Formatters.JsonFormatter.SerializerSettings = 
new JsonSerializerSettings 
{ 
    ContractResolver = new DefaultContractResolver() 
}; 

Dies wird die Kamel-Fall-Formatierung auf die Standardeinstellung zurückgesetzt.

ContractResolver = new DefaultContractResolver()