add nswag
This commit is contained in:
BIN
src/.DS_Store
vendored
BIN
src/.DS_Store
vendored
Binary file not shown.
BIN
src/Nswag/.DS_Store
vendored
Normal file
BIN
src/Nswag/.DS_Store
vendored
Normal file
Binary file not shown.
16
src/Nswag/Nswag.sln
Normal file
16
src/Nswag/Nswag.sln
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nswag", "Nswag\Nswag.csproj", "{275DEC50-FB97-45FC-A9B4-D4707017F889}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{275DEC50-FB97-45FC-A9B4-D4707017F889}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{275DEC50-FB97-45FC-A9B4-D4707017F889}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{275DEC50-FB97-45FC-A9B4-D4707017F889}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{275DEC50-FB97-45FC-A9B4-D4707017F889}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
BIN
src/Nswag/Nswag/.DS_Store
vendored
Normal file
BIN
src/Nswag/Nswag/.DS_Store
vendored
Normal file
Binary file not shown.
14
src/Nswag/Nswag/Nswag.csproj
Normal file
14
src/Nswag/Nswag/Nswag.csproj
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="NSwag.CodeGeneration.TypeScript" Version="14.2.0" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
56
src/Nswag/Nswag/Program.cs
Normal file
56
src/Nswag/Nswag/Program.cs
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
// See https://aka.ms/new-console-template for more information
|
||||||
|
|
||||||
|
using NJsonSchema.CodeGeneration.TypeScript;
|
||||||
|
using NSwag;
|
||||||
|
using NSwag.CodeGeneration.OperationNameGenerators;
|
||||||
|
using NSwag.CodeGeneration.TypeScript;
|
||||||
|
|
||||||
|
var document = OpenApiDocument.FromUrlAsync(("http://localhost:5000/swagger/v1/swagger.json")).Result;
|
||||||
|
|
||||||
|
var settings = new TypeScriptClientGeneratorSettings
|
||||||
|
{
|
||||||
|
ClassName = "{controller}Client",
|
||||||
|
ClientBaseClass = "AuthorizedApiBase",
|
||||||
|
ConfigurationClass = "IConfig",
|
||||||
|
GenerateDtoTypes = true,
|
||||||
|
UseTransformOptionsMethod = true,
|
||||||
|
TypeScriptGeneratorSettings =
|
||||||
|
{
|
||||||
|
EnumStyle = TypeScriptEnumStyle.Enum,
|
||||||
|
DateTimeType = TypeScriptDateTimeType.Date,
|
||||||
|
NullValue = TypeScriptNullValue.Null,
|
||||||
|
TypeStyle = TypeScriptTypeStyle.Interface,
|
||||||
|
GenerateDefaultValues = true,
|
||||||
|
MarkOptionalProperties = true,
|
||||||
|
TypeScriptVersion = 4.3m
|
||||||
|
},
|
||||||
|
OperationNameGenerator = new MultipleClientsFromFirstTagAndOperationIdGenerator(),
|
||||||
|
Template = TypeScriptTemplate.Fetch,
|
||||||
|
};
|
||||||
|
|
||||||
|
var generatorApiClient = new TypeScriptClientGenerator(document, settings);
|
||||||
|
var codeApiClient = generatorApiClient.GenerateFile();
|
||||||
|
File.WriteAllText("ManagingApi.ts", codeApiClient);
|
||||||
|
|
||||||
|
var settingsTypes = new TypeScriptClientGeneratorSettings
|
||||||
|
{
|
||||||
|
GenerateDtoTypes = true,
|
||||||
|
TypeScriptGeneratorSettings =
|
||||||
|
{
|
||||||
|
EnumStyle = TypeScriptEnumStyle.Enum,
|
||||||
|
DateTimeType = TypeScriptDateTimeType.Date,
|
||||||
|
NullValue = TypeScriptNullValue.Null,
|
||||||
|
TypeStyle = TypeScriptTypeStyle.Interface,
|
||||||
|
GenerateDefaultValues = true,
|
||||||
|
MarkOptionalProperties = true,
|
||||||
|
TypeScriptVersion = 4.3m
|
||||||
|
},
|
||||||
|
GenerateClientClasses = false,
|
||||||
|
GenerateClientInterfaces = false,
|
||||||
|
GenerateOptionalParameters = false,
|
||||||
|
GenerateResponseClasses = false,
|
||||||
|
};
|
||||||
|
|
||||||
|
var generatorTypes = new TypeScriptClientGenerator(document, settingsTypes);
|
||||||
|
var codeTypes = generatorTypes.GenerateFile();
|
||||||
|
File.WriteAllText("ManagingApiTypes.ts", codeTypes);
|
||||||
Reference in New Issue
Block a user