ServiceStack组删除和更新

时间:2015-10-11 22:55:37

标签: servicestack

我正在尝试实施ServiceStack组删除和更新。对于组删除,端点类似于~/item/{ItemIdList}ItemIdList属于List<Guid>类型。我已经编写了代码,但我不确定要放入{ItemIdList}部分的内容?对于单个项目,它是~/item/AItem'sActualId。如果是列表怎么办? 它是正确的方法还是如何实现组删除/更新。感谢。

1 个答案:

答案 0 :(得分:1)

它不应该在/path/info信息上,因为网址没有标识资源,最好在/items资源上的queryString上指定收集,例如:

[Route("/items", "DELETE")]
public class DeleteItems
{
    public List<Guid> Ids { get; set; }
}

然后用:

调用它
DELETE /items?Ids={Guid1},{Guid2}

或通过服务客户端:

client.Delete(new DeleteItems { Ids = new[] { Guid1, Guid2 }.ToList());

如果您希望能够使用 ANY HTTP谓词,您的自定义路径可以是如下命令:

[Route("/items/delete")]
public class DeleteItems
{
    public List<Guid> Ids { get; set; }
}

然后在您的服务中使用Any处理它:

public object Any(DeleteItems request) { ... }

您现在可以使用任何HTTP方法调用,例如:

client.Post(new DeleteItems { Ids = new[] { Guid1, Guid2 }.ToList());