Я работаю над этим java / maven проектом, работающим на Tomcat v9.0 .
Когда вы переходите к файлу MyResource.java по адресу src / main / java / {имя_пакета} /MyResource.java, содержимое ниже.
package com.learn.restDemo;
import java.util.List;
import javax.websocket.server.PathParam;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("names")
public class MyResource {
NameRepository repo = new NameRepository();
@GET
@Produces(MediaType.APPLICATION_XML)
public List<Students> getNames() {
return repo.getNames();
}
@GET
@Path("name/{id}")
@Produces(MediaType.APPLICATION_XML)
public Student getName(@PathParam("id") int id) {
return repo.getName(id);
}
@POST
@Path("name")
public Student createName(Student a1) {
repo.create(a1);
return a1;
}
}
Это простая программа, которая имеетдва метода GET и один метод POST.При обращении к URL-адресу Tomcat в
http://localhost:8080/restDemo/webapi/names
Он вызывает метод GET и отображает данные, хранящиеся в массиве, с помощью функций, определенных в классе NameRepository.Массив содержит объекты еще одного класса студентов , который имеет три переменные - id , имя и счет .В этом классе определены геттеры и сеттеры.
Другой метод GET вызывается с использованием приведенного ниже URL-адреса, именно здесь ошибка отображается в веб-браузере.Этот метод GET использует аннотацию @PathParams.
http://localhost:8080/restDemo/webapi/names/name/101