沿 ServiceStack 中的路径强制 DTO 属性

Forcing DTO properties along the path in ServiceStack

我有一些带有布尔字段 IsLocked 的 DTO class。

/.../{IsLocked}
这样的路线很容易搭建 并将此字段分配给查询值。

但我需要类似

/.../lock
/.../unlock
的东西 那就是根据路由强制将 IsLocked 字段设置为 true 或 false。

我可以在没有 CustomRequestBinder 且不解析的情况下做到这一点 Request.RawUrl 吗?

在此先感谢您的帮助。

这看起来像 2 个不同的操作,所以我考虑声明 2 个操作,例如:

[Route("/files/{FileName}/lock")]
public class LockFile { ... }

[Route("/files/{FileName}/unlock")]
public class UnlockFile { ... }

否则,您可以将路由声明为正常,并且 return 计算布尔值 属性 比较字符串,例如:

[Route("/files/{FileName}/{LockString}")]
public class LockOrUnlockFile 
{
    public string FileName { get; set; }
    public string LockString { get; set; }
    public bool IsLocked { get { return LockString == "lock"; } }
}