Сгенерированный Swagger-codegen код, имеющий проблемы Маршрутизация запросов с параметрами в пути
Я создал свое определение API с использованием Swagger и сгенерировал код сервера с помощью Swagger-tools в NodeJs. SwaggerRouter обрабатывает все маршруты правильно, за исключением маршрутов с идентификатором. Например, маршруты типа
/ v1 / factoris / self / v1 / factoris / create
направлены на правильный контроллер, но звонки с идентификаторами
/ V1 / factoris / {factoris_id}
возвращаются как недействительные маршруты.
Есть идеи, что мне не хватает?
Вот образец спецификации чванства
/factoris/create:
post:
tags:
- "Factoris"
summary: "Create New Factori"
description: ""
operationId: "factorisCreatePOST"
parameters:
- in: "body"
name: "FactoriCreate"
description: "Create a new factory"
required: true
schema:
$ref: "#/definitions/FactoriCreate"
responses:
201:
description: "A single factori object"
schema:
$ref: "#/definitions/inline_response_201"
405:
description: "Method not allowed"
schema:
$ref: "#/definitions/inline_response_405"
security:
- oauth2:
- "admin"
x-swagger-router-controller: "Factoris"
/factoris/{factori-id}:
get:
tags:
- "Factoris"
summary: "Factori Information"
description: ""
operationId: "factorisFactori_idGET"
parameters:
- name: "factori-id"
in: "path"
description: "The factori identifier string"
required: true
type: "string"
- name: "expand"
in: "query"
description: "Provide expanded information on Assemblies or Products or Users"
required: true
type: "string"
responses:
200:
description: "A single factori object"
schema:
$ref: "#/definitions/inline_response_201"
404:
description: "Factori not found"
schema:
$ref: "#/definitions/inline_response_404"
security:
- oauth2:
- "codeadmin"
x-swagger-router-controller: "Factoris"
1 ответ
После некоторых проб и ошибок я выяснил, что параметр пути не работает, если у него есть "-" (factori-id), поэтому изменение factori-id на factori_id исправило его. Но это все еще ошибка, так как параметр пути не может обработать "-"
вот открытый вопрос, созданный в Swagger-codegen https://github.com/swagger-api/swagger-codegen/issues/5763