2015-03-04 5 views
0

Мы пытаемся выставить некоторый статический контент на порт управления Spring Boot.Предоставление порта управления загрузкой Spring (или любого другого статического содержимого)

В нашем случае это интерфейс Swagger.

По умолчанию Spring Boot принимает этот статический контент и выставляет его на бизнес-порт.

Мы хотели бы чванство быть выставлены на порт Managment, как определить свойство:

management.port 

ответ

0

Сначала мы объявили MvcEndpoint (основано на JolokiaMvcEndpoint). Мы сделали некоторый трюк в RequestMapping

@RequestMapping("/**") 

    public ModelAndView handle(HttpServletRequest request, HttpServletResponse response) 
      throws Exception { 
     ResourceHttpRequestHandler hdlr = context.getBean(ResourceHttpRequestHandler.class); 
     String reqPath = (String)request.getAttribute(PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE); 
     request.setAttribute(PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, reqPath.substring(path.length())); 
     hdlr.handleRequest(request, response); 
     return null; 
    } 

Тогда нам нужно для того, чтобы КРОС происхождения вы взглянете на простом примере можно на https://spring.io/guides/gs/rest-service-cors/

уведомления, что вам может понадобиться, чтобы расширить пример позволяют заголовкам

response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 

Мы не считаем это решение чистым, но так мы решаем его, если у кого-то есть более чистое решение, пожалуйста, напишите.