2015-10-06 45 views

回答

2

根据您调用服务的方式来改变返回类型是极不鼓励的。您的客户绑定到您的服务的响应 - 基于某些运行时启发式将它们打乱而不加区分地更改它。

但是,如果你一定要,ServiceStack服务不执行严格的响应类型并让您返回任何object,如:

public object Any(Request request) 
{ 
    return request.Type == "low" 
     ? responseType1 
     : responseType2; 
} 

它意味着请求DTO不再有一致IReturn<Response>接口标记你现在会强制客户端知道哪个响应返回,当,他们就必须保持自己对调用点,例如:

var response = client.Get<ResponseType>(new Request { Type = "low" }); 

这也影响到元数据服务,可以不依赖在S上服务具有一致的响应类型。

+0

下面的东西可以吗? http:// localhost:8080/myservice?Type1 = low - >'return responseType1' http:// localhost:8080/myservice?Type2 = high - >'return responseType2'这里我改变了参数意味着我两种情况都有改变RequestDTO。 – chirag

相关问题