我正在研究在 Tomcat v9.0 上运行的 java / maven 项目。
当您访问位于src / main / java / {package_name} /MyResource.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方法。 在以下位置访问Tomcat URL
它调用GET方法并使用在NameRepository类中定义的函数显示存储在arraylist中的数据。 数组列表包含另一个类 Students 的对象,该类具有三个变量- id , name 和得分。该类中定义了获取器和设置器。
使用下面的URL调用另一个GET方法,这是在Web浏览器中显示错误的位置。此GET方法使用@PathParams注释。
答案 0 :(得分:0)
导入了错误的PathParam文件。
import javax.websocket.server.PathParam;
改为导入。
import javax.ws.rs.PathParam;