swagger-codegen: java.io.FileNotFoundException: невозможно прочитать API
Я пытаюсь работать с swagger-codegen
генерировать код на основе моего файла ресурсов Swagger. Тем не менее, я сталкиваюсь с следующей ошибкой при попытке создать код:
base path is http://my.documentation.com/api/docs/v1.json
java.io.FileNotFoundException: http://my.documentation.com/api/docs/v1.json/authenticateUser
Кажется, что swagger-codegen
пытается прочитать определение метода, добавляя имя операции после v1.json
, но я не уверен почему, так как имя операции определено внутри v1.json
сам:
{
"basePath":"https://my.api.com/v1",
"swaggerVersion":"1.2",
"apiVersion":"1.0.0",
"resourcePath":"v1",
"apis":[
{
"path":"/authenticateUser",
"description":"Authenticates a user into the API",
"operations":[
{
"method":"GET",
"summary":"Authenticates a user into the API",
"nickname":"authenticateUser",
"parameters":[
{
"paramType":"query",
"name":"username",
"type":"string",
"required":true,
"description":"Name of of user to authenticate"
},
{
"paramType":"query",
"name":"password",
"type":"string",
"required":true,
"description":"User's password"
}
],
"notes":"Returns access token in the response object"
}
]
},
...
]
}
Я не совсем уверен, какой формат swagger-codegen
ожидает. Должны ли basePath для API и документация для API быть одинаковыми? Обратите внимание, что документация для документации размещается в отдельном basePath, чем сам API. Я не уверен, если это имеет значение.
Также отмечу, что мой файл чванства v1.json
был создан с swagger-php
и работает нормально с swagger-ui
,
1 ответ
Изменение basePath на http://my.documentation.com/api/docs/
вместо http://my.documentation.com/api/docs/v1.json
решил проблему.