ASP.NET CORE OpenAPI-Generator-Immobilienmeister funktionieren nicht. Auf der Suche nach einigen EingabenC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 ASP.NET CORE OpenAPI-Generator-Immobilienmeister funktionieren nicht. Auf der Suche nach einigen Eingaben

Post by Anonymous »

Hat jemand jemals versucht, den OpenAPI-Generator für ASP.NET Core zu verwenden, und hat sich mit diesem Problem befasst, in dem er nicht ehren-Import-Mappings Option, um einen Typ auf benutzerdefiniertes Modell zuzuordnen?

Code: Select all

test.yaml
:

Code: Select all

openapi: 3.0.3
info:
title: RangeFilter Demo
version: 1.0.0
paths:
/demo:
get:
summary: Test endpoint
operationId: GetDemo
parameters:
- in: query
name: range
required: false
schema:
$ref: "#/components/schemas/RangeFilter"
responses:
'200':
description: OK
components:
schemas:
RangeFilter:
type: object
properties:
exactValue:
type: integer
minValue:
type: integer
maxValue:
type: integer
< /code>
openapitools.json
:

Code: Select all

{
"$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json",
"spaces": 2,
"generator-cli": {
"version": "7.12.0"
},
"generatorName": "aspnetcore",
"inputSpec": "test.yaml",
"outputDir": "out",
"templateDir": "custom-templates/",
"additionalProperties": {
"operationResultTask": true,
"operationIsAsync": true,
"buildTarget": "library",
"nullableReferenceTypes": true,
"useSwashbuckle": true,
"useNewtonsoft": false,
"sourceFolder": "src/",
"packageName": "MyApp.Api",
"modelPackage": "MyApp.Models.Generated",
"sharedPackageName": "MyApp.Shared"
},
"importMappings": {
"RangeFilter": "MyApp.Models.Filters.CustomDTO"
},
"typeMappings": {
"RangeFilter": "MyApp.Models.Filters.CustomDTO"
}
}
< /code>
Command used:
openapi-generator-cli generate -c openapitools.json
< /code>
or:
➜  filtersTest git:(main) ✗ openapi-generator-cli generate \
-i test.yaml \
-g aspnetcore \
-o out \
--import-mappings=RangeFilter=MyApp.Models.Filters.CustomDTO \
--type-mappings=RangeFilter=MyApp.Models.Filters.CustomDTO
< /code>
Generated output file: out/src/MyApp.Api/Controllers/DefaultApi.cs
:

Code: Select all

/*
* RangeFilter Demo
*
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 1.0.0
*
* Generated by: https://openapi-generator.tech
*/
/*
* RangeFilter Demo
*
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 1.0.0
*
* Generated by: https://openapi-generator.tech
*/

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Http;
using Swashbuckle.AspNetCore.Annotations;
using Swashbuckle.AspNetCore.SwaggerGen;
using MyApp.Api.Attributes;
using MyApp.Models.Generated;

namespace MyApp.Api.Controllers
{
/// 
///
/// 
[ApiController]
public abstract class DefaultApiController : ControllerBase
{
/// 
/// Test endpoint
/// 
/// 

/// OK
[HttpGet]
[Route("/demo")]
[ValidateModelState]
[SwaggerOperation("GetDemo")]
public abstract Task  GetDemo([FromQuery (Name = "range")]RangeFilter? range);
}
}
< /code>
If I use Kotlin for example, I see the expected mapping for the field:
➜  filtersTest git:(main) ✗ openapi-generator-cli generate \
-i test.yaml \
-g kotlin \
-o out \
--import-mappings=RangeFilter=MyApp.Models.Filters.CustomDTO \
--type-mappings=RangeFilter=MyApp.Models.Filters.CustomDTO

< /code>
........

* @throws ServerException If the API returns a server error response
*/
@Throws(IllegalStateException::class, IOException::class, UnsupportedOperationException::class, ClientException::class, ServerException::class)
fun getDemo(range: MyApp.Models.Filters.CustomDTO? = null) : Unit {
val localVarResponse = getDemoWithHttpInfo(range = range)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post