Я хотел бы спросить вас, почему есть разница в коде Java, когда я написал его так:
@Path("abc")
interface Resource {
@GET
void method();
}
и
class Service implements Resource {
@Override
public void method() {
// body
}
}
и после этой реализации, когда я использую
UriBuilder.newInstance().path(Service.class).buildString();
Я получу исключение, вызванное отсутствием @Path
параметра в Service.class
но
когда я использую REST и вызываю GET /abs
, я получу действительный ответ.
Почему это?
Я знаю, что могу использовать Resource#method
с аннотациями @GET @Path("{type}")
, Service1.class
с @Path("type1")
и Service2.class
с @Path("type2")
, но это не мой вопрос сейчас.