Я разрабатываю новый API с использованием Slim Framework (v3).
Я пытаюсь интегрировать этот API с интерфейсом Swagger, но когда я нажимаю кнопку «Попробуйте», Swagger генерирует следующую ссылку.
Пример ссылки:
http://localhost/api/public/contact?param1=1¶m2=2param3=3
Это правильно, если я не использую Slim, но ссылка на Slim API выглядит так:
http://localhost/api/contact/1/2/3
Я хочу, чтобы Swagger использовал ссылку на Slim API, как я могу это сделать? Я не могу найти способ «перевести» формат ссылки.
Я использую Swagger-php для комментариев (аннотаций).
Я надеюсь, что вы можете мне помочь. Благодарю.
У вас есть пара разных вариантов.
Первый Swagger-интерфейс не будет показывать эту ссылку, если она не определена где-то (т.е. basePath
атрибут) или слева не определено. Похоже, там чего-то не хватает.
Далее вы можете всегда переопределить basePath
в вашем API вроде так:
window.swaggerUi.api.setBasePath('/api');
Который должен забрать /api/public
раздел.
Немного трудно отладить, не видя определения чванства в JSON или YAML, но эти два метода должны помочь вам преодолеть все трудности.
Других решений пока нет …