.net core基于HttpClient实现的网络请求库
Soda.Http基于HttpClient封装的 Http 请求库。如果有什么好想法,可以提 Issue 或者 Pr。,如果想要使用,直接在nuget搜索Soda.Http即可。
Github项目地址:Soda.Http
用法
1 预载
预载配置并不是必须的,但是有助于我们进行一些通用基础设置,例如Headers、Accept、BaseUrl等等。
配置BaseUrl之后,可以直接使用QSodaHttp.Uri()代替QSodaHttp.Url(),直接填写接口即可。
在AspNetCore中:
services.AddSodaHttp(opts =>
{
opts.BaseUrl = "http://localhost:8080/";
opts.Accept = new[]
{
"application/json",
"text/plain",
"*/*"
};
opts.EnableCompress = false;
opts.Headers = new[]{
("X-Ca-Test", "key")
};
});较为通用的写法,程序构建时:
QSodaHttp.AddSodaHttp(opts =>
{
opts.BaseUrl = "http://localhost:8080/";
opts.Accept = new[]
{
"application/json",
"text/plain",
"*/*"
};
opts.EnableCompress = false;
opts.Headers = new[]{
("X-Ca-Test", "key")
};
})2 全局配置 Authentication
有时需要全局配置 Authentication,如果在代码中请求中独立配置了 Authentication 则会覆盖全局 Authentication
QSodaHttp.InitAuthentication("Bearer", "Values");如果你是塞到 Header 里的这种做法
QSodaHttp.AddHeader("X-Ca-Key", "Values");3 Http 请求
3.1 QSodaHttp
API 示例:
var result = await QSodaHttp.Url("https://www.baidu.com/")
.Header("X-Ca-Key", "XXX")
.Authentication("Bearer", "XXX")
.Params(new { Id = "123456" })
.Body(new { })
// .Form(...)
// .File(...)
.PostAsync<string>();简单示例:
// 配置BaseUrl
var services = new ServiceCollection();
services.AddSodaHttp(opts =>
{
opts.EnableCompress = false;
opts.BaseUrl = "http://localhost:5050/";
});var res = await QSodaHttp.Uri("/Test/Get").Params(new { Id = "123456" }).GetAsync<object>();var res = await QSodaHttp.Uri("/Test/TestGetResult").Params(new { Id = "123456", Ids = new[] { "123", "456" } }).GetAsync<object>();var res = await QSodaHttp.Uri("/Test/Post").Body(new { Id = "123456", Ids = new[] { "123", "456" } }).PostAsync<object>();var res = await QSodaHttp.Uri("/Test/PostResult")
.Params(new { Id = "123456", Ids = new[] { "123", "456" } })
.Body(new { Id = "123456", Ids = new[] { "123", "456" } })
.PostAsync<object>();var res = await QSodaHttp.Uri("/Test/Delete").Params(new { Id = "123456" }).DeleteAsync<object>();var res = await QSodaHttp.Uri("/Test/DeleteResult").Params(new { Id = "123456", Ids = new[] { "123", "456" } }).DeleteAsync<object>();var res = await QSodaHttp.Uri("/Test/Put").Params(new { Id = "123456" }).PutAsync<object>();var res = await QSodaHttp.Uri("/Test/PutResult")
.Body(new { Id = "123456", Ids = new[] { "123", "456" } })
.PutAsync<object>();var res = await QSodaHttp.Uri("Patch").Params(new { Id = "123456" }).PatchAsync<object>();var res = await QSodaHttp.Uri("PatchResult")
.Body(new { Id = "123456", Ids = new[] { "123", "456" } })
.PatchAsync<object>();
来源:https://www.cnblogs.com/donpangpang/archive/2023/04/01/17279574.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页:
[1]