.NET Rest客户端框架

时间:2010-11-01 22:16:02

标签: .net http rest

我正在寻找用于构建REST Http客户端的最佳.NET C#框架。我的要求如下:

  • 单元可测试(可模拟)
  • 支持多部分表单和文件上传

我查看了Hammock,但它缺少文档,在尝试模拟文件上传时似乎很麻烦。

有什么建议吗?

7 个答案:

答案 0 :(得分:12)

还有RestSharp。我在一些项目上继承了它,并没有自己完全探索它,所以我担心我不能说它是否符合你的要求。

developer of RestSharp在.Net社区中处于活动状态,因此如果发布的文档没有涵盖某些内容,我会说很有可能获得一些帮助。

答案 1 :(得分:4)

您还可以查看Spring.Rest客户端框架: http://springframework.net/index.html#spring-rest-1.0.0-released

答案 2 :(得分:3)

另请参阅http://wcf.codeplex.com/中的Microsoft.Http客户端。它将包含在框架的未来版本中。使用它进行单元测试相对容易。

答案 3 :(得分:3)

我刚刚使用Hammock为上述问题提交了一个补丁,用于模拟文件上传,并已被接受进入主干。有关详细信息,请参阅issue 13

答案 4 :(得分:0)

Microsoft HTTP Client Libraries是一个值得考虑的好选择。

Nuget URL - https://www.nuget.org/packages/Microsoft.Net.Http/

答案 5 :(得分:0)

这是一个延伸,但你可以尝试我的库 - IEnterprise.Easy-HTTP,因为它使用通用构建器,你可以自定义构建过程,这将使测试更容易,它也有一些内置的东西,如类解析和查询构建:

await new RequestBuilder<ExampleObject>()
.SetHost("https://httpbin.org")
.SetContentType(ContentType.Application_Json)
.SetType(RequestType.Post)
.SetModelToSerialize(dto)
.Build()
.Execute();

随意提问或查看github中的代码:)

答案 6 :(得分:0)

检查Flurl库https://flurl.dev/ Flurl在NuGet上可用,可免费用于商业用途。它可以在各种平台上运行,包括.NET Framework,.NET Core,Xamarin和UWP。