我想为基于ServiceStack的API实现魔术令牌。每当任何值与此特殊令牌匹配时,我想在我的应用程序中发出特殊操作的信号。发生此分配的理想位置是在 SS处理了有线格式(JSV,JSON,SOAP等)和之后它将值映射到a上之后 .NET类型。目前,我想知道开始这样的事情的最好方法。这是我可以在Configure()
中找到的东西吗?这是我必须覆盖和注入的东西吗?尽快提供此问题的任何协助或指示。
答案 0 :(得分:1)
我不认为这是一个ServiceStack实现问题,而是你如何定义DTO。鉴于这个要求,据我所知,我会选择这样的东西:
interface IOverridableDTO
{
Object overrideValue(Object value);
}
class BaseOverridableDTO : IOverridableDTO
{
bool doOverride {get(){return(//results of magic token check)};}
public Object overrideValue(Object value)
{ if {doOverride}
return(null); // or whatever the override needs to be
return(value);
}
}
class MyDTO : BaseOverridableDTO
{
// override the overrideValue() method, if necessary
private int myDTOProperty;
public int? MyDTOProperty {
get() {return overrideValue((Object)myDTOProperty)};
set(int value) {myDTOProperty = value;}
}
}
// use as follows:
void DoSomethingWithAnOverridableDTO(BaseOverridableDTO dtoObject)
{ ... }