2013-10-14 96 views
1

[Default]數據註釋與ORMLite一起使用。但是,它不適用於響應的默認值。是否有類似於用於響應DTO的[Default]屬性?ServiceStack響應默認值

考慮下面的代碼:

[Route("api/hello")] 
public class Hello { 
    public string Ping { get; set; } 
} 
public class HelloResponse { 
    public ResponseStatus ResponseStatus { get; set; } 
    [Default(typeof(string), "(nothing comes back!)")] 
    public string Pong { get; set; } 
} 

我想響應DTO傍屬性有一個默認值「(沒有回來!)」,而不僅僅是空。

回答

6

只需在構造函數中設置它即可。 ServiceStack中的DTO是純C#對象。沒什麼特別的。

public class HelloResponse 
{ 
    public HelloResponse() 
    { 
     this.Pong = "(nothing comes back!)"; 
    } 

    public ResponseStatus ResponseStatus { get; set; } 
    public string Pong { get; set; } 
} 

一類將對象初始設置任何屬性之前始終運行的構造:

var resp = new HelloResponse(); 
Console.WriteLine(resp.Pong); // "(nothing comes back!)" 

resp = new HelloResponse 
{ 
    Pong = "Foobar"; 
}; 
Console.WriteLine(resp.Pong); // "Foobar"