Resltlet сопоставления ресурсов с URL-адресами, содержащими queryparam

Я должен разработать веб-сервис для отдыха. Для этого я использую restlet апи.
У меня есть 3 получить URL:

 1. /info/person?name=aaa
 2. /info/person?name=aaa&age=21
 3. /info/person?name=aaa&age=21&sex=male

Я хочу сопоставить эти URL-адреса с 3 различными методами ресурсов.

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.QueryParam;

@Path("/info/person")
@Produces(MediaType.APPLICATION_XML)
public class TestResource{

//method 1
@GET
public Response getInfo(@QueryParam("name") final String name){
...
}

//method 2
@GET
public Response getInfo(@QueryParam("name") final String name){
....
}

//method 3
@GET
public Response getInfo(@QueryParam("name") final String name, @Queryparam("age") final int age, @Queryparam("sex") final String sex){
....
}
}

Я ожидаю, что для url1 будет вызван метод 1, для url2 - метод 2, а для url3 - метод 3.

Но это не работает. Ожидаемые методы не вызываются.

Пожалуйста, помогите мне определить, где я делаю ошибку.

restlet version : 2.3.4

1 ответ

JAX-RS не позволяет иметь две конечные точки с одинаковым путем HTTP и разными параметрами запроса.

Предлагаем пройти - Два метода GET с разными параметрами запроса: REST

Другие вопросы по тегам