You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用@PathParam注解获取URL参数时遇空值问题求助

解决@PathParam无法获取URL参数的问题

嘿,我一眼就揪出问题所在了——你路径参数的拼写不一致!

看你接口里的@Path("/refresh-stats/{tpye}"),这里的占位符写成了{tpye}(是t-p-y-e,少了个r),但你在@PathParam("type")里用的是正确的type(t-y-p-e)。JAX-RS是通过完全匹配占位符名称和@PathParam里的参数名来绑定值的,这俩名字不一样,自然拿不到参数值啦!

最直接的解决方案:修正拼写错误

把接口里的路径注解改成正确的拼写,让占位符和@PathParam的参数名一致:

@GET 
@Path("/refresh-stats/{type}") 
@Produces(MediaType.APPLICATION_JSON) 
public Response getRefreshStats(@PathParam("type") String type);

改完之后再请求localhost:8080/refresh-stats/abc,应该就能正常获取到"abc"了。

如果修正后还是不行,这些排查点可以试试:

  • 检查实现类的路径注解:如果你的实现类上也加了@Path,要确保接口和实现类的路径拼接后是完整的/refresh-stats/{type},别出现路径层级冲突或者重复的情况。
  • 确认资源类的注册:确保你的JAX-RS应用已经正确注册了这个接口/实现类,比如在自定义的Application子类里添加了对应的类,或者配置了包扫描让框架能找到这个资源。
  • 简化路径测试:可以先把路径改成/test/{type}这种简单形式,测试参数能不能正常获取,排除其他路径配置的干扰。

内容的提问来源于stack exchange,提问作者amit kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:23:31