dotnet-sdlexport 0.0.24

dotnet tool install --global dotnet-sdlexport --version 0.0.24                
此软件包包含一个您可以从Shell/命令行调用的.NET 工具
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local dotnet-sdlexport --version 0.0.24                
此软件包包含一个您可以从Shell/命令行调用的.NET 工具
#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>

License

codecov Nuget NuGet

GitHub Release Date GitHub commits since latest release (by date) Size

GitHub contributors Activity Activity Activity

Run unit tests Publish preview to GitHub registry Publish release to Nuget registry CodeQL analysis

.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提供服务。

实验性功能

如果服务器支持此功能,工具可以获取指令信息。如果服务器不支持指令返回(在这种情况下,服务器返回请求验证错误),则工具使用经典的自省请求。官方规范[官方规范]没有描述这种可能性,尽管讨论正在进行中,以扩展规范以添加此功能。

用法

  1. GitHub GraphQL API v4 [Generated SDL]
sdlexport --source https://api.github.com/graphql --auth bearer|<YOUR_TOKEN> --out samples/github.graphql
  1. SWAPI - 星际大战API的包装GraphQL模式和服务器。 [Generated SDL]
sdlexport --source https://swapi-graphql.netlify.com/.netlify/functions/index --out samples/swapi.graphql
  1. HIVDB - 一个精选数据库,用于表示、存储和分析HIV药物耐药性数据。 [Generated SDL]
sdlexport --source https://hivdb.stanford.edu/graphql --out samples/hivdb.graphql
  1. 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
  1. 您可以直接从发布的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兼容。
兼容目标框架
包含目标框架(在包中)
更多关于目标框架.NET标准的信息。

此包没有依赖项。

版本 下载 最后更新
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