2017-04-26 167 views
2

我試圖使用下面的代碼,我得到了作爲響應:狀態:405方法不允許。這是我的Http請求:http://localhost:8090/services/test?name=test。 代碼或http請求有什麼問題?春季集成DSL Http入站網關

@Bean 
     public IntegrationFlow httpInternalServiceFlow() { 
     return IntegrationFlows 
       .from(Http.inboundGateway("/services/test") 
         .requestMapping(r -> r.params("name") 
         .methods(HttpMethod.GET)) 
         .payloadExpression("#requestParams.name")) 
       .get(); 
    } 
+0

請打開DEBUG邏輯級別爲org.springframework類別,以查看服務器上的請求發生了什麼。您可能在該HTTP入站網關前面有一些Servlet'Filter'。另一方面,不清楚你是否有'@ EnableIntegration' ... –

+0

收到一個不應該採樣的請求[/ services/test] [false] 沒有父跨度 - 創建一個新的span 已成功完成請求 已清除線程綁定的請求上下文:[email protected] – Stefanos

+0

正在檢索Consumer @ 3bb8d847的交付:,channel =緩存的Rabbit通道:AMQChannel,conn:Proxy @ 5a9d5e2共享的Rabbit連接: SimpleConnection @ 32a4284d,acknowledgeMode = AUTO本地隊列大小= 0 帶有uri [/ services/test]的請求尚未由Sleuth的任何組件處理。這意味着你很可能使用了自定義的HandlerMappings,並沒有添加Sleuth的TraceHandlerInterceptor。 Sleuth將創建一個跨度以確保在Zipkin中調用的圖形保持有效 由於響應失敗而分離跨度跟蹤 – Stefanos

回答

0

最後我設法解決了問題的根源。 spring-boot-starter-amqp將servlet:'messageDispatcherServlet'映射到[/ services/*],並且由於我註冊了我的endpoing到/ services/test應用程序出現衝突