dotnet-sdlexport 0.0.24
dotnet tool install --global dotnet-sdlexport --version 0.0.24
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local dotnet-sdlexport --version 0.0.24
#tool dotnet:?package=dotnet-sdlexport&version=0.0.24
nuke :add-package dotnet-sdlexport --version 0.0.24
graphql-sdl-exporter
<a href="https://www.buymeacoffee.com/sungam3r" target="_blank"><img src="https://bmc-cdn.nyc3.digitaloceanspaces.com/BMC-button-images/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: auto !important;width: auto !important;" ></a>
.NET Core 全局工具,用于从 URL 或可执行文件生成 SDL。
安装
您可以通过NuGet安装最新版本。
> dotnet tool install -g dotnet-sdlexport
命令行选项
只需输入
> sdlexport
即可查看所有可用选项。有关更多信息,请参阅CommandLineOptions。
这是什么?
此工具从提供的 URL 或可执行 ASP.NET Core 程集的路径生成文本 SDL(模式定义语言)文件。在 URL 情况下,工具立即向该 URL 发送 introspection 请求。如果指定文件路径作为源,则工具会启动临时进程,并在收到 introspection 响应后停止它。在工具启动其已知 URL 上的进程时,它才能发送请求。此参数通过 --url
命令行选项传递,默认值为 https://127.0.0.1:8088
。然后将此参数作为 --server.urls
命令行选项传递给启动的进程。
请注意,使用此方法时,服务不需要(尽管可能)在启动时执行任何辅助工作,例如联系外部系统、数据库等,因为这可能会减慢获取模式的过程。该工具将API_ONLY_RESTRICTED_ENVIRONMENT
命令行键传递给正在启动的过程。通过此键的存在,可以禁用执行不需要获取模式的代码。
public static Task Main(string[] args) => CreateBuilder(args)
.Build()
.RunAsync();
private static IWebHostBuilder CreateBuilder(string[] args)
=> args.Contains("API_ONLY_RESTRICTED_ENVIRONMENT")
? WebHost.CreateDefaultBuilder<StartupApiOnly>(args)
: WebHost.CreateDefaultBuilder<Startup>(args);
为什么需要它?
与原始的JSON自省响应相比,SDL与SDL更容易使用。SDL更容易阅读和理解。与原始的JSON相比,SDL也更为紧凑——在这种情况下,更容易跟踪更改。SDL文件,就像任何代码文件一样,可以作为版本控制系统中的工件存储,并作为公共API提供服务。
实验性功能
如果服务器支持此功能,工具可以获取指令信息。如果服务器不支持指令返回(在这种情况下,服务器返回请求验证错误),则工具使用经典的自省请求。官方规范[官方规范]没有描述这种可能性,尽管讨论正在进行中,以扩展规范以添加此功能。
用法
sdlexport --source https://api.github.com/graphql --auth bearer|<YOUR_TOKEN> --out samples/github.graphql
- SWAPI - 星际大战API的包装GraphQL模式和服务器。 [Generated SDL]
sdlexport --source https://swapi-graphql.netlify.com/.netlify/functions/index --out samples/swapi.graphql
- HIVDB - 一个精选数据库,用于表示、存储和分析HIV药物耐药性数据。 [Generated SDL]
sdlexport --source https://hivdb.stanford.edu/graphql --out samples/hivdb.graphql
- Countries - 基于a href="https://annexare.github.io/Countries/" rel="noopener noreferrer nofollow">Countries List。 [Generated SDL]
sdlexport --source https://countries.trevorblades.com --out samples/countries.graphql
- 您可以直接从发布的ASP.NET Core应用程序中导出模式
> sdlexport --source C:\MyWebHost.dll --out samples/myschema.graphql
查看完整选项列表
> sdlexport
另请参阅
产品 | 版本 兼容的以及额外的计算目标框架版本。 |
---|---|
.NET | net5.0兼容。 net5.0-windows已计算。 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 Core | netcoreapp3.1兼容。 |
此包没有依赖项。
版本 | 下载 | 最后更新 |
---|---|---|
0.0.24 | 337 | 4/24/2023 |
0.0.23 | 201 | 4/21/2023 |
0.0.22 | 243 | 3/7/2023 |
0.0.21 | 232 | 3/7/2023 |
0.0.20 | 344 | 12/2/2022 |
0.0.19 | 487 | 2/17/2022 |
0.0.18 | 350 | 8/2/2021 |
0.0.17 | 363 | 4/28/2021 |
0.0.16 | 316 | 4/22/2021 |
0.0.15 | 326 | 4/20/2021 |
0.0.14 | 336 | 4/15/2021 |
0.0.13 | 344 | 3/25/2021 |
0.0.12 | 304 | 3/16/2021 |
0.0.11 | 474 | 10/25/2020 |
0.0.10 | 411 | 10/21/2020 |
0.0.9 | 378 | 10/21/2020 |
0.0.8 | 369 | 9/10/2020 |
0.0.7 | 434 | 7/24/2020 |
0.0.6 | 419 | 7/6/2020 |
0.0.5 | 426 | 4/23/2020 |
0.0.4 | 436 | 3/20/2020 |
0.0.3 | 434 | 2/4/2020 |
0.0.2 | 627 | 12/28/2019 |
0.0.1 | 594 | 12/28/2019 |