2016-09-18 10 views
3

@生産 - 私は、次のレコードの配列を送信しようとするとhttps://github.com/odytrice/DumiaF#のWebAPIのデフォルトの直列化復元は、符号

、ここで

[<CLIMutable>] 
type Product = 
    { ProductID : int 
    Code : string 
    Name : string 
    Price : decimal 
    ImageUrl : string } 

[<CLIMutable>] 
type Inventory = 
    { Product: Product 
    Quantity: int } 

が私の現在のWebAPIのです設定

let registerWebApi (app:IAppBuilder) = 

    let config = new HttpConfiguration() 
    // Configure routing 
    config.MapHttpAttributeRoutes() 

    // Remove XML Formatter 
    config.Formatters.Clear() 

    let formatter = new JsonMediaTypeFormatter() 
    formatter.UseDataContractJsonSerializer <- false 
    config.Formatters.Add(formatter) 

    config.Services.Replace(typeof<IHttpControllerActivator>, CompositionRoot()) 

    app.UseWebApi(config) 

私のWeb APIは、次のように出力

に生産しています
{ 
    [email protected]: { 
     [email protected]: 1, 
     [email protected]: "Bag-01", 
     [email protected]: "Ladies Bag", 
     [email protected]: 120, 
     [email protected]: "/content/images/bag.jpg" 
    }, 
    [email protected]: 15 
} 

誰でも@記号を取り除く方法を知っていますか?

答えて

2

問題は、WebAPIで使用されるデフォルトのDataContractが原因です。

私はまだ

config.Formatters 
     .JsonFormatter 
     .SerializerSettings 
     .ContractResolver 
      <- Serialization.CamelCasePropertyNamesContractResolver() 

config.Formatters 
     .JsonFormatter 
     .SerializerSettings 
     .ContractResolver 
      <- Serialization.DefaultContractResolver() 

以上にそれを変更しなければならなかった

関連する問題