我一直无法做出明确的选择,并希望有人(或几个人的组合)可以指出使用 RestSharp 与 ServiceStack 的客户端服务之间的区别(请记住,我已经在使用 ServiceStack 作为我的服务) . 这是我到目前为止所拥有的(仅差异)。该列表相当小,因为它们确实非常相似:
服务栈
优点
- 来自我已经创建的服务 POCO 对象的流利验证
- 一个 API 用于客户端和服务
- 代码可读性更好(即 Get<>()、Post<>())
缺点
- 必须写出我的一些字符串(即,如果我使用查询参数发出 GET 请求,我必须在我的代码中创建该字符串)
- 我必须为每个请求/响应类型(JsonServiceClient、XmlServiceClient)创建一个不同的类
RestSharp
优点
- 几乎所有东西都可以是 POCO(即,如果我使用查询参数发出 GET 请求,我只需通过代码添加参数)
- 请求/响应类型之间的切换很简单(request.RequestFormat = DataFormat.Json/Xml)
缺点
- 手动验证(超出数据注释中的验证)
- 两个要学习的 API(这是次要的,因为它们都相当简单)
- 代码一目了然(几乎没有)可读性(即 request.Method = Get/Post.. 并且主要调用是 Execute< T >())
我倾向于 RestSharp,因为它更倾向于直接使用 POCO 和很少的字符串操作,但是我认为 ServiceStack 可能是可以接受的,以获得更容易阅读的验证和代码。
所以,这里有几个问题:
- 你喜欢哪个?
- 为什么一个比另一个?
我知道这不是一个完全主观的问题,但至少我正在寻找这个问题的答案(这是主观的):
- 我的任何发现是否不正确和/或我错过了什么?