FsHttp.FSharpData 14.5.1

dotnet add package FsHttp.FSharpData --version 14.5.1                
NuGet\Install-Package FsHttp.FSharpData -Version 14.5.1                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="FsHttp.FSharpData" Version="14.5.1" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用包。
paket add FsHttp.FSharpData --version 14.5.1                
#r "nuget: FsHttp.FSharpData, 14.5.1"                
#r 指令可用于 F# Interactive 和多语言笔记本。将其复制到交互式工具或脚本的源代码中,以引用该包。
// Install FsHttp.FSharpData as a Cake Addin
#addin nuget:?package=FsHttp.FSharpData&version=14.5.1

// Install FsHttp.FSharpData as a Cake Tool
#tool nuget:?package=FsHttp.FSharpData&version=14.5.1                

FsHttp 构建 & 测试 NuGet 徽章

<img align="right" width="200" alt='logo' src='https://raw.githubusercontent.com/fsprojects/FsHttp/master/docs/img/logo_big.png' />

FsHttp ("Full Stack HTTP") 是一个 "可修改的 HTTP 客户端",它在提供可读风格的基础同时,仍然能够提供对底层 HTTP 表示式完全访问的能力,以覆盖不常见的场景。它是两者的最佳结合:方便性与灵活性

  • 将其用作 .http 文件的替代品,VSCode 的 REST 客户端Postman 和其他工具,作为一个 交互式和可编程的 HTTP 请求游戏场
  • 作为一个可用来为由 .NET (C#,VB,F#) 驱动的应用程序的 生产就绪 HTTP 客户端

✌ Postman?❤ FsHttp! https://youtu.be/F508wQu7ET0

@SchlenkR@dawedawe 开发和维护。请随时给我们留言。

文档

  • 📖 请参阅 FsHttp 文档 网站,以获取详细的文档。
  • 🧪 此外,还可以查看 集成测试,这些测试展示了各种库的详细信息。

F# 语法示例

#r "nuget: FsHttp"

open FsHttp

http {
    POST "https://reqres.in/api/users"
    CacheControl "no-cache"
    body
    jsonSerialize
        {|
            name = "morpheus"
            job = "leader"
        |}
}
|> Request.send

C# 语法示例

#r "nuget: FsHttp"

using FsHttp;

await Http
    .Post("https://reqres.in/api/users")
    .CacheControl("no-cache")
    .Body()
    .JsonSerialize(new
        {
            name = "morpheus",
            job = "leader"
        }
    )
    .SendAsync();

发布说明 / 迁移到新版本

构建

.Net SDK

您需要安装一个最新的.NET SDK,其指定在./global.json中。

构建任务

有一个F#构建脚本(./build.fsx),可以从命令行执行多个构建任务。

对于常用任务,在仓库根目录下有powershell文件

  • ./test.ps1:运行所有测试(源在./src/Tests)。
    • 您可以向此任务传递参数。例如,执行某些测试:./test.ps1 --filter Name~'Response Decompression'
  • ./docu.ps1:重新构建FsHttp文档网站(源在./src/docs)。
  • ./docu-watch.ps1:如果您正在编写文档源,并希望在浏览器中查看结果,请运行此命令。
  • ./publish.ps1:将所有包(FsHttp及其与JsonNet和FSharp.Data的集成包)发布到NuGet。
    • 总是查看./src/Directory.Build.props,并保持文件更新。

鸣谢

产品 兼容和附加的计算机目标框架版本。
.NET net6.0是兼容的。 net6.0-android被计算。 net6.0-ios被计算。 net6.0-maccatalyst被计算。 net6.0-macos被计算。 net6.0-tvos被计算。 net6.0-windows被计算。 net7.0被计算。 net7.0-android被计算。 net7.0-ios被计算。 net7.0-maccatalyst被计算。 net7.0-macos被计算。 net7.0-tvos被计算。 net7.0-windows被计算。 net8.0被计算。 net8.0-android被计算。 net8.0-browser被计算。 net8.0-ios被计算。 net8.0-maccatalyst被计算。 net8.0-macos被计算。 net8.0-tvos被计算。 net8.0-windows被计算。
兼容目标框架
包含的目标框架(在包中)
了解更多关于 目标框架.NET Standard 的信息。

NuGet 包

此包未被任何 NuGet 包使用。

GitHub 仓库

此包未被任何流行的 GitHub 仓库使用。

版本 下载 最后更新
14.5.1 74 8/9/2024
14.5.0 984 3/5/2024
14.4.2 87 3/5/2024
14.4.1 1,076 2/5/2024
14.4.0 291 1/7/2024
14.2.0 106 1/5/2024
14.1.0 119 1/3/2024
14.0.0 115 1/2/2024
13.3.0 118 12/28/2023
13.2.0 129 12/28/2023
12.2.0-preview01 103 12/24/2023
12.1.0 211 11/27/2023
12.0.0 187 10/31/2023
11.0.0 691 8/5/2023
11.0.0-preview01 135 3/25/2023
10.0.0 2,965 11/25/2022
10.0.0-preview3 127 11/23/2022
10.0.0-preview2 146 11/12/2022
10.0.0-preview1 148 11/12/2022
9.1.2 2,092 6/5/2022
9.1.1 674 4/24/2022
9.1.0 399 4/19/2022
9.0.6 418 4/19/2022
9.0.5 414 4/14/2022
9.0.4 432 4/8/2022
9.0.3 434 4/8/2022
9.0.2 410 4/6/2022
9.0.1 411 4/5/2022
9.0.0 421 4/5/2022

14.5.1
     - 修复了未跟踪的 bug:使用 config_useBaseUrl 作为 http 模板在打印未完成的请求时不会崩溃

     14.5.0
     - 将 'useBaseUrl' 和 'transformUrl' 添加到 Config 中,以实现更好的组合性
     - 修复了一些扩展方法

     14.4.2
     - 感谢 @bartelink
       已将 FSharp.Core 锁定为 5.0.2 的所有库项目
       删除了 net7.0、net8.0 TFM 特定的构建
       很多其他以稳定性为导向的酷功能和细节工作

     14.4.1
     - 修复了缺少对 FSharp.Core 的显式依赖项

     14.4.0
     - 修复了预配置的请求

     14.3.0
     - 添加了 `GetList` JsonElement 扩展
     
     14.2.0
     - (重大变更)将 Config 和 PrintHint 分离(...以及这些领域中的许多其他事物)

     14.1.0
     - (重大变更)将 `Extensions.To...Enumerable` 重命名为 `Extensions.To...Seq`
     - 添加了 `toJsonList...` 重载

     14.0.0
     - (重大变更)在 Domain 中重命名类型
       BodyContent -> SinglepartContent
       RequestContent -> BodyContent
       FsHttpUrl -> FsHttpTarget
     - (重大变更)FsHttpUrl(现在为 FsHttpTarget)和 Header 重新构建:方法、地址和 queryParams 现在是 FsHttpTarget 类型的一部分。
     - 将 `headerTransformers` 添加到 Config 中,以实现更好的组合性

     13.3.0
     - (重大变更)F# 中所有 `Response._TAsync` 函数(基于任务)现在需要 CancellationToken。
     - (重大变更)扩展方法的重构
     - (重大变更)没有再 StartingContext,这意味着
       在这里我们略微放弃了安全性,为了在未指定 URL 的情况下预先配置 HTTP 请求
       。这是我们愿意做出的权衡。

12.2.0
     - 添加了 HttpMethods 以实现更好的组合性

     12.1.0
     - net8.0

     12.0.0
     - #137 / #102:将 FsHttpUrl.additionalQueryParams 的类型从 obj 改为 string
     - 删除了(自动打开)Async.await 和 Task.map/await
     - 将(自动打开)Async.map 移到 FsHttp.Helper.Async.map

     11.1.0
     - #130 / #105:添加了供用户提供的取消令牌的方法

     11.0.0
     - #121(重大变更):关闭 FSI 中的调试日志(签名/命名空间中的重大变更)
     - #124:支持重复查询参数(感谢 @DaveJohnson8080)
     - #106(重大变更):允许使用其他“部分”的文件名元数据(感谢 @dawedawe)
     - 破坏性变更:ContentTypeForPart的自定义操作应该在部分定义之后
     - #104(破坏性变更):默认自动解压缩GZip响应
     - 其他破坏性变更
       - 删除了`ContentTypeWithEncoding`并使用`ContentType`重载中的可选`charset`参数。
       - 在Dsl、DslCE和CSharp中将`byteArray`重命名为`binary`。
       - 注意(!!):在Dsl和DslCE中将`stringPart`重命名为`textPart`,并更改了`name`和`value`的参数顺序。
       - 对Domain中的类型进行了重构
       - `Helper`是一个模块而不是命名空间,并且某些内容已被移动。
       - 配置中的所有转换器现在是一个转换器列表而不是一个单独的项目。
       - 删除了`setHttpClient`。请使用`setHttpClientFactory`代替。
       - `setHttpClientFactory`接受一个`Config`作为输入参数。

     -----------------------------
     -- 以下为旧版本说明 --
     -----------------------------
     
     7.0.0
     - #92:`expect`和`assert`通过原始响应而不是单元传递。

     8.0.0
     - #93(感谢@drhumlen):将内容类型'text/json'更改为'application/json'。
     - Http模块在Dsl和DslCE中总是自动打开。
     - 建筑方法没有额外的模块。

     8.0.1
     - #89:使用FSI时不再使用net5进行阻塞请求。

     9.0.0 / 9.0.1
     - 重新定义了构建器(请参阅README.md)。
     - 许多破坏性变更(请参阅文档中的“迁移”部分)。

     9.0.2
     - 添加了JSON toArray函数
     - 修复了#99:Response.saveFile应在不存在时创建目录。

     9.0.3
     - 重新支持netstandard2.1。

     9.0.4
     - 引用了最低的FSharp.Core和其他引用包版本。

     9.0.5
     - 支持netstandard2.0。
     - 新增'FsHttp.NewtonsoftJson'集成包。
     - 更多JSON函数和默认配置。

     9.0.6
     - #100 - 删除了FSI打印消息。

     9.1.0
     - 修复了'Response.deserialize...'函数的命名不一致问题。
     - 更多C# JSON函数。

     9.1.1
     - 修复:为jsonSerialize使用GlobalConfig.Json.defaultJsonSerializerOptions作为默认值。

     9.1.2
     - 修复了#103:FSI响应打印和初始化不再默认工作。

     10.0.0
     - .Net 7支持(感谢@Samuel-Dufour)
     - 破坏性变更:更正了“guessMineTypeFromPath”->“guessMimeTypeFromPath”的拼写错误
     - 破坏性变更:模块'Helper'、'HelperInternal'和'HelperAutos'重构
     - #115:下载流时删除打印消息
     - 打印:通过Request.print和Response.print分别对响应和请求使用单独的打印函数
     - 打印:在FSI中默认请求(IToRequest)的打印
     - 删除了所有项目中的net5.0目标
     - PrintHint.printDebugMessages:移动到FsHttp.Helper.Fsi.logDebugMessages作为全局开关
     - #113 - Config.timeoutInSeconds错误

     10.1.0
     - #117:转义查询参数值的字符串(由@maciej-izak提供 - 感谢)
     (!!) 这可以视为一个破坏性更改。
     - #112: 允许添加 (多个) 标题 (由 @Samuel-Dufour 提供 - 感谢)