[Sinatra][Nancyfx] fix enum in Sinatra and nancyfx (#3532)

* fix enum in sintra and nancyfx

* add isContainer check for sinatra allowable value

* fix EOL in nancyfx enum template
This commit is contained in:
wing328 2016-08-05 16:30:59 +08:00 committed by GitHub
parent 125338a081
commit 47738f6cd6
6 changed files with 26 additions and 14 deletions

View File

@ -1,4 +1,10 @@
/// <summary>
/// {{#description}}{{.}}{{/description}}{{^description}}{{classname}}{{/description}}
/// </summary>
public enum {{>innerApiEnumName}} { {{#allowableValues}}{{#values}}{{&.}}{{^-last}}, {{/-last}}{{/values}}{{/allowableValues}} };
public enum {{>innerApiEnumName}}
{
{{#allowableValues}}
{{#values}} {{&.}}{{^-last}}, {{/-last}}
{{/values}}
{{/allowableValues}}
};

View File

@ -1 +1 @@
{{#datatypeWithEnum}}{{operationId}}{{.}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}
{{#datatypeWithEnum}}{{operationId}}{{^isContainer}}{{.}}{{/isContainer}}{{#isContainer}}{{{items.datatypeWithEnum}}}{{/isContainer}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}

View File

@ -18,7 +18,7 @@ MyApp.add_route('{{httpMethod}}', '{{basePathWithoutHost}}{{path}}', {
"dataType" => "{{dataType}}",
"paramType" => "query",
{{#collectionFormat}}"collectionFormat" => "{{collectionFormat}}",{{/collectionFormat}}
"allowableValues" => "{{allowableValues}}",
"allowableValues" => "{{^isContainer}}{{{allowableValues.values}}}{{/isContainer}}",
{{#defaultValue}}"defaultValue" => "{{{defaultValue}}}"{{/defaultValue}}
},
{{/queryParams}}

View File

@ -2,7 +2,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
VisualStudioVersion = 12.0.0.0
MinimumVisualStudioVersion = 10.0.0.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IO.Swagger", "src\IO.Swagger\IO.Swagger.csproj", "{4E6FF76E-03ED-499F-B05C-4315904C488E}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IO.Swagger", "src\IO.Swagger\IO.Swagger.csproj", "{D198220E-91F6-402F-966F-8EF6105B1B75}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -10,10 +10,10 @@ Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4E6FF76E-03ED-499F-B05C-4315904C488E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4E6FF76E-03ED-499F-B05C-4315904C488E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4E6FF76E-03ED-499F-B05C-4315904C488E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4E6FF76E-03ED-499F-B05C-4315904C488E}.Release|Any CPU.Build.0 = Release|Any CPU
{D198220E-91F6-402F-966F-8EF6105B1B75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D198220E-91F6-402F-966F-8EF6105B1B75}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D198220E-91F6-402F-966F-8EF6105B1B75}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D198220E-91F6-402F-966F-8EF6105B1B75}.Release|Any CPU.Build.0 = Release|Any CPU
{19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.Build.0 = Debug|Any CPU
{19F1DEBC-DE5E-4517-8062-F000CD499087}.Release|Any CPU.ActiveCfg = Release|Any CPU

View File

@ -3,7 +3,7 @@
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{4E6FF76E-03ED-499F-B05C-4315904C488E}</ProjectGuid>
<ProjectGuid>{D198220E-91F6-402F-966F-8EF6105B1B75}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>IO.Swagger.v2</RootNamespace>

View File

@ -12,7 +12,13 @@ namespace IO.Swagger.v2.Modules
/// <summary>
/// Status values that need to be considered for filter
/// </summary>
public enum FindPetsByStatusList&lt;StatusEnum&gt; { };
public enum FindPetsByStatusStatusEnum
{
available,
pending,
sold
};
/// <summary>
/// Module processing requests of Pet domain.
@ -46,7 +52,7 @@ namespace IO.Swagger.v2.Modules
Get["/pet/findByStatus"] = parameters =>
{
var status = Parameters.ValueOf<FindPetsByStatusList&lt;StatusEnum&gt;?>(parameters, Context.Request, "status", ParameterType.Query);
var status = Parameters.ValueOf<FindPetsByStatusStatusEnum?>(parameters, Context.Request, "status", ParameterType.Query);
Preconditions.IsNotNull(status, "Required parameter: 'status' is missing at 'FindPetsByStatus'");
return service.FindPetsByStatus(Context, status);
@ -128,7 +134,7 @@ namespace IO.Swagger.v2.Modules
/// <param name="context">Context of request</param>
/// <param name="status">Status values that need to be considered for filter</param>
/// <returns>List&lt;Pet&gt;</returns>
List<Pet> FindPetsByStatus(NancyContext context, FindPetsByStatusList&lt;StatusEnum&gt;? status);
List<Pet> FindPetsByStatus(NancyContext context, FindPetsByStatusStatusEnum? status);
/// <summary>
/// Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
@ -190,7 +196,7 @@ namespace IO.Swagger.v2.Modules
DeletePet(petId, apiKey);
}
public virtual List<Pet> FindPetsByStatus(NancyContext context, FindPetsByStatusList&lt;StatusEnum&gt;? status)
public virtual List<Pet> FindPetsByStatus(NancyContext context, FindPetsByStatusStatusEnum? status)
{
return FindPetsByStatus(status);
}
@ -224,7 +230,7 @@ namespace IO.Swagger.v2.Modules
protected abstract void DeletePet(long? petId, string apiKey);
protected abstract List<Pet> FindPetsByStatus(FindPetsByStatusList&lt;StatusEnum&gt;? status);
protected abstract List<Pet> FindPetsByStatus(FindPetsByStatusStatusEnum? status);
protected abstract List<Pet> FindPetsByTags(List<string> tags);