java – RESTEASY002142:多个资源方法匹配请求
发布时间:2020-12-15 04:40:28 所属栏目:Java 来源:网络整理
导读:我正在关注两个完全不同的URL,我无法解释原因: RESTEASY002142: Multiple resource methods match request "GET /devices/distinctValues/3". Selecting one. Matching methods: [public javax.ws.rs.core.Response mypackage.DevService.getDistinctValues
我正在关注两个完全不同的URL,我无法解释原因:
RESTEASY002142: Multiple resource methods match request "GET /devices/distinctValues/3". Selecting one. Matching methods: [public javax.ws.rs.core.Response mypackage.DevService.getDistinctValues(int) throws java.lang.Exception,public javax.ws.rs.core.Response mypackage.DevRESTService.getDevice(int,java.lang.String) throws java.lang.Exception] 由于URLS完全不同,因此不应出现此警告.如果有人知道为什么会这样: 两种方法的网址: 的getDevice: @GET @Path("devices/{customerId}/{deviceIds}") @Produces({ "application/json" }) getDistinctValues: @GET @Path("devices/distinctValues/{customerId}") @Consumes("application/json") @Produces("application/json") 解决方法
发生警告是因为您的请求字符串可以匹配两个路径模板.请求“devices / distinctValues / 3”
>匹配customerId =“3”中的devices / distinctValues / {customerId} There is no type resolution并且由于您的请求是String,因此无法告诉customerId它不能接受“distinctValues”. 作为一种解决方法,您可以指定链接问题中显示的正则表达式,或使用RESTEasy proxy framework,它基本上是服务器(您的JAX-RS资源)和客户端使用的共享接口,然后您有一个类型的公共语言解析度.请注意,文档示例中存在拼写错误. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |