2017-04-26 120 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应用程序出现冲突