Я использовал регулярное выражение в @Path для достижения перегрузки, и сначала я думал, что это действительно опрятно, но методы перегрузки обычно не являются хорошей практикой. То же самое относится к веб-службам RESTful? Есть ли лучший способ добиться этого с помощью JAX-RS?Рекомендации по перегрузке http-методов в REST
Так теперь я могу назвать мою службу getProject привала/проект/ProjectNumber1000 или/проектом/12345
@Path("/project")
public class ProjectPropertiesResource
{
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/{name : [a-zA-Z]+}")
public Response getProjectPropertiesByName(@PathParam("name") String name)
{
...
}
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/{id : \\d+}")
public Response getProjectPropertiesById(@PathParam("id") long id)
{
...
}
}
Возможно, это только я, но я не вижу перегрузки в вашем примере. Оба метода имеют разные имена. –
Я перегрузил путь для доступа к этим методам. Сами методы имеют другое название, поскольку я обычно не использую перегрузку. – willcodejavaforfood