2016-02-21 2 views
2

У меня возникли проблемы с отображением API API Swagger с использованием Restlet. Что Кураж показывает только эти вещи:Swagger не работает

enter image description here

И проверка Апи-документы он показывает только это:

enter image description here

Интересно, что случилось с моим кодом:

public class MyApplication extends SwaggerApplication { 
    private static final String ROOT_URI = "/"; 
    public Restlet createInboundRoot() { 
     Router router = new Router(getContext()); 
     router.attach(ROOT_URI, RootServerResource.class); 
     router.attach(ROOT_URI + "ping", PingServerResource.class); 
     router.attach(ROOT_URI + "ping/", PingServerResource.class); 
     // Some code omitted for simplicity 
     return router; 
    } 
} 

ответ

0

Вы могли бы посмотреть на эту статью:

Оба Swagger1 и 2 поддерживаются расширением чванство Restlet:

  • Кураж v1

    public class ContactsApplication extends SwaggerApplication { 
        public Restlet createInboundRoot() { 
         Router router = new Router(); 
         (...) 
         attachSwaggerSpecificationRestlet(router, "/docs"); 
    
         return router; 
        } 
    } 
    
  • Кураж v2

    public class ContactsApplication extends Application { 
        public Restlet createInboundRoot() { 
         Router router = new Router(); 
         (...) 
         Swagger2SpecificationRestlet swagger2SpecificationRestlet 
               = new Swagger2SpecificationRestlet(this); 
         swagger2SpecificationRestlet.setBasePath("http://myapp.org/"); 
         swagger2SpecificationRestlet.attach(router, "/docs"); 
         return router; 
        } 
    } 
    
0

Swagger должен найти ваши операции API. Я не уверен в Restlet, в Джерси вы комментируете свои классы ресурсов REST с помощью @Api и ваши методы с помощью @ApiOperation. Подробнее здесь in the swagger docs.

+0

Также вы можете перейти к уважаемому e ресурс с помощью '/ api-docs/resource' –

+0

Это вам вообще помогло? Тогда, пожалуйста, отметьте ответ как правильный. –

1

Решение добавить этот код:

// Configuring Swagger 2 support 
    Swagger2SpecificationRestlet swagger2SpecificationRestlet 
      = new Swagger2SpecificationRestlet(this); 
    swagger2SpecificationRestlet.setBasePath("http://localhost:8080/api-docs"); 
    swagger2SpecificationRestlet.attach(router); 

И направьте Swagger интерфейс для /swagger.json