是ResponseStatus需要ServiceStack?(Is ResponseStatus n

2019-06-26 15:49发布

是ResponseStatus需要?

维基说,我们需要有一个ResponseStatus财产在我们的反应DTO处理异常序列:

https://github.com/ServiceStack/ServiceStack/wiki/Validation

但是它看起来像即使在响应DTO没有ResponseStatus财产ResponseStatus自动生成。

我们是否需要ResponseStatus财产?

Answer 1:

在处理文档错误解释了如何控制哪些服务返回一个人口稠密ResponseStatus DTO,即:

错误响应类型

当一个异常被抛出的是被返回的错误响应的常规命名是否变化{RequestDto}Response DTO存在与否。

If it exists:

{RequestDto}Response被返回,而不管服务的方法的反应的类型。 如果{RequestDto}Response DTO有ResponseStatus属性,它被填充,否则不ResponseStatus将被退回。 (如果你装饰了{ResponseDto}Response与类和属性[DataContract]/[DataMember]属性,那么ResponseStatus还需要装修,以获取填充)。

Otherwise, if it doesn't:

一个通用的ErrorResponse被用填充ResponseStatus属性返回。

该服务客户端透明地处理不同的错误响应类型,并为无模式格式,如JSON / JSV /等有自定义或通用返回ResponseStatus之间没有实际可见的差别ErrorResponse -因为它们都输出电线上的同样的反应。

自定义异常

最终所有ServiceStack WebServiceExceptions只是响应DTO的一个人口稠密ResponseStatus与某个HTTP错误状态返回。 有许多不同的方式来定制例外是如何返回,包括:

启用踪迹

默认情况下,显示响应DTO的踪迹在调试版本中才启用,但这种行为是重写有:

csharp SetConfig(new HostConfig { DebugMode = true });



文章来源: Is ResponseStatus needed in ServiceStack?