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