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?
/*
* 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)
Hat jemand jemals versucht, den OpenAPI-Generator für ASP.NET Core zu verwenden, und hat sich mit diesem [url=viewtopic.php?t=20324]Problem[/url] befasst, in dem er nicht ehren-Import-Mappings Option, um einen Typ auf benutzerdefiniertes Modell zuzuordnen?[code]test.yaml[/code]: [code]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]: [code]{ "$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]: [code]/* * 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) [/code]
Ich habe ein Projekt, das das Tool von Microsoft.Dotnet-OpenAPI verwendet, um typisierte httpclients aus einer OpenAPI-Spezifikation zu generieren. Einige Endpunkte erfordern ein devToken und einige...
IM 'Verwenden von OpenAPI-Generator-Maven-Plugin 7.9.0 in einem Spring Boot 3.3.4-Projekt. Hier ist mein Beispielspezifikation:
/scripts/search:
post:
operationId: getScriptByFilter
requestBody:...
Hier ist mein Problem: Ich arbeite an einem Stoplight-Projekt für einen bestimmten Anwendungsfall und möchte eines der gemeinsam genutzten Modelle in Stoplight verwenden, z. B. Model_1. Als ich...
Hier ist mein Problem: Ich arbeite an einem Stoplight-Projekt für einen bestimmten Anwendungsfall und möchte eines der gemeinsam genutzten Modelle in Stoplight verwenden, z. B. Model_1. Als ich...