Spring AI mcp的baseUrl问题解决了
这里如果不配置base-url,我通过http://localhost:8080/sse 可以正常访问。
如果配置了base-url=/api/v1,我看官方文档后我通过http://localhost:8080/api/v1/sse 无法访问
找到源码看了下
▼text复制代码public WebMvcSseServerTransportProvider(ObjectMapper objectMapper, String baseUrl, String messageEndpoint, String sseEndpoint) { this.sessions = new ConcurrentHashMap(); this.isClosing = false; Assert.notNull(objectMapper, "ObjectMapper must not be null"); Assert.notNull(baseUrl, "Message base URL must not be null"); Assert.notNull(messageEndpoint, "Message endpoint must not be null"); Assert.notNull(sseEndpoint, "SSE endpoint must not be null"); this.objectMapper = objectMapper; this.baseUrl = baseUrl; this.messageEndpoint = messageEndpoint; this.sseEndpoint = sseEndpoint; this.routerFunction = RouterFunctions.route().GET(this.sseEndpoint, this::handleSseConnection).POST(this.messageEndpoint, this::handleMessage).build(); }
▼text复制代码@Bean public RouterFunction<ServerResponse> mvcMcpRouterFunction(WebMvcSseServerTransportProvider transportProvider) { return transportProvider.getRouterFunction(); }
这里并没有把base-url放入router里面,这时候去访问http://localhost:8080/sse 还是无法访问。 最后找到了解决问题 配置文件你需要加上这段,就可以正常访问了。context-path是应用全局的路径前缀,而base-url是 MCP 组件内部的路径前缀,两者同时存在时会叠加生效 之前仅配置了组件级别的base-url而没有配置框架级别的context-path,导致路径映射有问题
▼text复制代码server: port: 8080 servlet: context-path: /api/v1
评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
内容推荐
Java学习笔记-文件IO
3
ARTS 1011: 双堆动态对顶求中位数、IPC 注入与空密码串联接管账户与程序从不做决策
4
卫星平台 2.0 M2 交付实录:从登录防爆破到米级轨道预报
5
OD试用期会被随便裁掉吗?我知道的两个真实例子和保命建议
4
22届双非专升本在上海做 java 开发4年了,一直没跳槽,在一家外包公司,4年工资只涨了一千,还是去年说要离职才申请下来涨这么点,工作这几年技术几乎没怎么长进,可能是有点太安于现状了吧。目前想跳槽转 AI 应用开发,不知道怎么开始准备,大佬们有什么好的建议吗,boss 上几乎都是外包在打招呼,我看上的岗位打招呼几乎都是已读不回或直接没消息,现在这行情开发还能干吗,附简历
2
作者分享
claude code cli最新的命令之类或者更新,这种是不是可以记录一下,可以知道有哪些新功能,怎么去用
3
唉,感觉用了AI过后,自己代码能力就下降了好多,不太会写代码了都。
1
发个内推
3
Ai智能体项目关于MCP部分的问题有人知道吗?
1.Ai智能体项目的mcp,通过sse方式如果服务端不启用或者挂了,客户端也会崩掉,有没有啥配置即使服务端崩掉了,客户端也可以正常使用只是不用这个智能体接口或者工具。
2.如果服务端配置了server.servlet.context-path,客户端即使在sse-endpoint里面带上了context-path,比如/api,但是还是会重定向错误302
2
Java生成Excel中的组合图
1
