java - JAX RS 中 REST 端点的排序

标签 java rest jax-rs wildfly-8

我有两个 REST 端点,一个用于删除所有员工的一些数据,另一个用于通过员工 ID 删除特定员工的数据。

这是两种方法:

@Path("/{empId}/data")
@DELETE
public Response deleteEmpDataa(@PathParam("empId") final String empId) { }

@Path("/all/data")
@DELETE
public Response deleteAllData(){}

现在,当我想删除所有员工数据并从 postman chrome 插件进行查询时

http://localhost/rest/mymapping/all/data

我希望它调用第二个方法deleteAllData。相反,它使用 PathParam all 调用第一个方法。

这是一个排序问题吗?我们如何解决这个问题?

最佳答案

您需要对您的 @Path 使用 RegEx 模式,通过 ID 删除员工。例如,如果您的员工 ID 始终是一个数字,您可以尝试如下操作:

@Path("/{empId:[0-9]*}/data")

由于“all”不是数字,因此将调用第二个 Rest 模式。

参见:@Path and regular expression (Jersey/REST)

关于java - JAX RS 中 REST 端点的排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33828088/

相关文章:

java - 类似的加载和获取 Spring 数据的 hibernate 方法

java - 将日期转换为 XMLGregorianCalendar

javascript - 多次异步服务调用后的 AngularJS 函数

java - 未找到 Jersey + Json 媒体类型 application/json

java - WebLogic 12c 中的 Resteasy(或不是 Jersey - JAX RS 实现)可能吗?

java - Android NFS 客户端

java - JRuby:使用两个同名的方法扩展 Java 类

javascript - 如何在 Mac 上设置反向代理?

api - 使用 Sails JS 对 Jira REST API 进行身份验证

java - 在 JavaEE 中创建具有适当分层的 Web 服务