2017-02-21 12 views
0

/обновить конечную точку добавлено, выставлено, и я могу позвонить напрямую, но он не может быть запрошен через HTTP Method Head?Метод: Head on/refresh возвращается 500

2017-02-21 15: 00: 08,913 INFO [- ,,,] 4597 --- [главная] osbaemvc.EndpointHandlerMapping: Подключенные «{[/ обновить || /refresh.json],methods = [POST]}»на общественном java.lang.Object org.springframework.cloud.endpoint.GenericPostableMvcEndpoint.invoke()

Исключение:

org.springframework.web.HttpRequestMethodNotSupportedException: Запрос метод 'голова' не поддерживается по адресу org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.handleNoMatch (RequestMappingInfoHandlerMapping.java:20

+0

Журнал отображения показывает, что '/ refresh' зарегистрирован в' POST', а не 'HEAD'. Можете ли вы предоставить фрагмент кода о том, как вы показываете эту конечную точку? – Edd

+0

- это конечная точка исполнительного механизма, которая экспонируется внутри библиотеки. – HODEH

ответ

1

Я думаю, что эта проблема возникает только тогда, когда в вашем микросервисе есть @RestController.

Как я могу видеть, здесь вы разница ручки в микро-службы с @RestController:

2017-02-22 13:54:38.382 **ERROR** [micro-service-1,e9a053f5ffa72714,3980777f97a147f9,true] 10956 --- [http-nio-auto-3-exec-1] c.s.e.c.e.DefaultExceptionHandler 
: ErrorResponse [errorCode=90000, description=Request method 'HEAD' not supported, correlationId=e9a053f5ffa72714, externalErrorCode=null, additionalProperties={}] 

org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'HEAD' not supported 
    at org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.handleNoMatch(RequestMappingInfoHandlerMapping.java:207) 
    at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lookupHandlerMethod(AbstractHandlerMethodMapping.java:374) 
    at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.getHandlerInternal(AbstractHandlerMethodMapping.java:314) 

... 

А вот вы еще один, но в данном случае, не имеет ни @RestController:

2017-02-22 15:14:49.795 **WARN** [micro-service-2,897590499c7c776c, 
74a8108edccafb5e,true] 27623 --- [http-nio-auto-2-exec-5] 
o.s.web.servlet.PageNotFound  : Request method 'HEAD' not supported 
0

fran благодарит, что вы правы, что решило проблему, потому что класс имеет @ExceptionHandler (Exception.class), который обрабатывает неопределенные исключения, возвращая 500 и считает это внутренней ошибкой сервера. явно определяя HttpRequestMethodNotSupportedException как @ExceptionHandler в совете и обрабатывая его с ответом JSON по умолчанию на исполнительный механизм (405), который ожидает администратор Spring загрузки, все нормально.