在使用RESTful API时,您何时建议使用RestSharp和何时使用HttpClient?

pab*_*g86 12 .net restsharp dotnet-httpclient

我一直在寻找这个答案,但没有成功.

我一直使用RestSharp并且发现它非常整洁,但后来意识到微软提供了HttpClient,它看起来乍一看也涵盖了相同的功能.

(我也听说过ServiceStack,大多数人似乎比其他选择更喜欢它,但现在支付那么多不是一个选择 - 也不是使用旧版本).

这只是一个个人喜好的问题,或者是否确实存在使用其中一个或另一个的利弊 - 或者,有一些具体情况,其中一个可能比另一个更合适?

提前致谢!

Tod*_*ier 19

你猜测它很大程度上归结为个人偏好.几点:

  • RestSharp在HttpClient之前出现多年,在功能和易用性方面远远优于微软当时推出的产品.

  • HttpClient具有严格的异步(如async/await)API; RestSharp支持同步和异步调用.但除非你被困在一个较旧的平台上和/或支持遗留代码,否则没有什么理由同步进行HTTP调用.(不要占用等待可能长时间运行的I/O的线程!)

  • RestSharp涵盖了HttpClient本身没有的很多领域,最明显的是反应的反序列化.

我用RestSharp几年切换到HttpClient的前(我想异步/的await支持,据我所知,RestSharp当时没有支持它,虽然它现在),最终我写了并发布了自己的小图书馆,Flurl .Http,它使用一些流畅的HTTP /反序列化方法扩展了我的URL构建器,这些方法只是围绕HttpClient和Json.NET的瘦包装器.