2016-04-22 109 views
1

我正在使用ServiceStack進行服務,並遇到問題。我沒有看到請求參數,因此,當我調用該方法時,請求的所有參數都爲空。 下面是代碼:缺少ServiceStack請求參數

public class AppHost : AppSelfHostBase 
{ 
    public AppHost() 
     : base("CallbackServer", typeof(CallbackServer).Assembly) 
    { 
    } 

    public override void Configure(Container container) 
    { 
    } 
} 

public class CallbackServer : Service 
{ 
    public HttpResult Post(EventoCliente request) 
    { 
     request.TimeReceived = DateTime.Now; 
     Task.Factory.StartNew(() => Program.EventArrived(request)); 
     return new HttpResult(HttpStatusCode.OK,"OK"); 
    } 
} 

[Route("/turno", "Post")] 
public class EventoCliente : IReturn<EventoClienteResponse> 
{ 
    public TurnoCliente Turno; 
    public string Sucursal; 
    public string[] Puestos; 
    public DateTime? TimeReceived; 
} 

public class EventoClienteResponse 
{ 
    public ResponseStatus ResponseStatus { get; set; } 
} 

static void Main() 
{ 
    var appHost = new AppHost(); 
    appHost.Init(); 
    appHost.Start("http://*:9900/NesrEmulator/"); 
} 

所以,在瀏覽器中我寫:http://localhost:9900/NesrEmulator,我可以看到方法EventoCliente,但我不能看到(有地圖無法)該請求的參數。 Here is a screenshot of what i mean...

我做錯了什麼? 感謝

回答

2

你的DTO的應該使用公共屬性不是公共領域所以只是將其更改爲:

[Route("/turno", "Post")] 
public class EventoCliente : IReturn<EventoClienteResponse> 
{ 
    public TurnoCliente Turno { get; set; } 
    public string Sucursal { get; set; } 
    public string[] Puestos { get; set; } 
    public DateTime? TimeReceived { get; set; } 
}