Мы разрабатываем успокоительный API, используя jersey (1.9.1) и tomcat 5.5.Данный ресурс идентифицируется с помощью урны, и мы хотели бы обратиться к конкретному экземпляру этого ресурса.Чтобы достичь этого, мы использовали следующий код:
@Path("/XXXs")
public interface XXXResource {
@GET
@Path("{id}")
@Produces({ MediaType.APPLICATION_JSON })
XXXInfo getXXX(@PathParam("id") String id);
}
Идея состоит в том, чтобы обратиться к этому ресурсу, используя следующий URL:
http://localhost:8080/restapi/XXXs/http%3A%2F%2Fns.something.com%2FXXX%2F2
Декодированныйзначение параметра пути должно быть: http://ns.something.com/XXX/2
Однако, когда я делаю запрос, используя закодированный URL, я получаю сообщение о плохом запросе от tomcat.Итак, мои вопросы:
- Правильно ли использовать Urn в качестве параметра пути?
- Почему Tomcat рассматривает этот запрос как неверный запрос?
На всякий случай я изменил сигнатуру метода так, чтобы параметр был взят из строки запроса, и он работал нормально, но я хочу, чтобы параметр был частью пути.
Спасибо.