我有两个 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 模式。
关于java - JAX RS 中 REST 端点的排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33828088/