Генерация модели autorest завершается неудачей, когда multipart/form-data имеет строковое перечислениеC#

Место общения программистов C#
Ответить
Anonymous
 Генерация модели autorest завершается неудачей, когда multipart/form-data имеет строковое перечисление

Сообщение Anonymous »

Я пытаюсь создать модели и клиент C#, используя yaml спецификации openapi
Если у меня есть свойство типа enum в multipart/form-data, как показано ниже:

Код: Выделить всё

      requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
Precedence:
type: string
enum:
- PRIMARY
- SECONDARY
- COMMON
выдает ошибку:

Код: Выделить всё

fatal   | System.NotImplementedException: The method or operation is not implemented.
at AutoRest.CSharp.Output.Models.RestClientBuilder.BuildRequestBody(IReadOnlyCollection`1 allParameters, BodyMediaType bodyMediaType, OutputLibrary library) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Output\Models\RestClientBuilder.cs:line 285
at AutoRest.CSharp.Output.Models.RestClientBuilder.BuildRequest(InputOperation operation, IReadOnlyCollection`1 requestParts, Parameter bodyParameter, OutputLibrary library) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Output\Models\RestClientBuilder.cs:line 212
at AutoRest.CSharp.Output.Models.RestClientBuilder.BuildMethod(InputOperation operation, DataPlaneResponseHeaderGroupType responseHeaderModel) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Output\Models\RestClientBuilder.cs:line 113
at AutoRest.CSharp.Output.Models.DataPlaneRestClient.EnsureNormalMethods() in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\DataPlane\Output\DataPlaneRestClient.cs:line 44
at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
at System.Lazy`1.CreateValue()
at AutoRest.CSharp.Output.Models.RestClient.GetOperationMethod(InputOperation request) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Output\Models\RestClient.cs:line 107
at AutoRest.CSharp.Output.Models.RestClient.BuildAllMethods()+MoveNext() in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Output\Models\RestClient.cs:line 45
at System.Collections.Generic.LargeArrayBuilder1.AddRange(IEnumerable1 items)
at System.Collections.Generic.EnumerableHelpers.ToArray[T](IEnumerable`1 source)
at AutoRest.CSharp.Output.Models.RestClient.getMethods() in D:\a\work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Output\Models\RestClient.cs:line 24
at AutoRest.CSharp.Generation.Writers.RestClientWriter.WriteClient(CodeWriter writer, DataPlaneRestClient restClient) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Generation\Writers\RestClientWriter.cs:line 32
at AutoRest.CSharp.AutoRest.Plugins.DataPlaneTarget.Execute(GeneratedCodeWorkspace project, CodeModel codeModel, SourceInputModel sourceInputModel, SchemaUsageProvider schemaUsageProvider) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\DataPlane\AutoRest\DataPlaneTarget.cs:line 55
at AutoRest.CSharp.AutoRest.Plugins.CSharpGen.ExecuteAsync(CodeModel codeModel) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\AutoRest\Plugins\CSharpGen.cs:line 38
at AutoRest.CSharp.AutoRest.Plugins.CSharpGen.Execute(IPluginCommunication autoRest) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\AutoRest\Plugins\CSharpGen.cs:line 128
at AutoRest.CSharp.AutoRest.Plugins.PluginProcessor.Start(IPluginCommunication autoRest) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\AutoRest\Plugins\PluginProcessor.cs:line 39
fatal   | Process() cancelled due to failure
Если я удалю перечисление, оно будет выполнено успешно.
команда: autorest --input-file=swagger.yaml --csharp --generation1 -удобный-клиент

Подробнее здесь: https://stackoverflow.com/questions/784 ... tring-enum
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»